64 lines
1.7 KiB
YAML
64 lines
1.7 KiB
YAML
name: releaseprep
|
|
description: Prepare release files or recommend a next semantic version tag.
|
|
|
|
inputs:
|
|
version:
|
|
description: Semantic version to release.
|
|
required: false
|
|
version-file:
|
|
description: Path to version file relative to repository root.
|
|
required: false
|
|
default: ''
|
|
version-pattern:
|
|
description: Regular expression with one capture group for current version.
|
|
required: false
|
|
default: ''
|
|
changelog:
|
|
description: Path to changelog file relative to repository root.
|
|
required: false
|
|
default: changelog.md
|
|
recommend:
|
|
description: If true, print recommended next release tag.
|
|
required: false
|
|
default: 'false'
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '1.26.1'
|
|
|
|
- name: Run releaseprep
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
|
|
args=(--root .)
|
|
|
|
if [[ "${{ inputs.recommend }}" == "true" ]]; then
|
|
args+=(--recommend)
|
|
else
|
|
if [[ -z "${{ inputs.version }}" ]]; then
|
|
echo "input 'version' is required when recommend is false" >&2
|
|
exit 2
|
|
fi
|
|
args+=(--version "${{ inputs.version }}" --date "$(date -u +%F)")
|
|
fi
|
|
|
|
if [[ -n "${{ inputs.version-file }}" ]]; then
|
|
args+=(--version-file "${{ inputs.version-file }}")
|
|
fi
|
|
|
|
if [[ -n "${{ inputs.version-pattern }}" ]]; then
|
|
args+=(--version-pattern "${{ inputs.version-pattern }}")
|
|
fi
|
|
|
|
if [[ -n "${{ inputs.changelog }}" ]]; then
|
|
args+=(--changelog "${{ inputs.changelog }}")
|
|
fi
|
|
|
|
go run git.hrafn.xyz/aether/vociferate/cmd/releaseprep@latest "${args[@]}"
|