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