Files
vociferate/action.yml
2026-03-20 18:26:11 +00:00

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[@]}"