73 lines
2.4 KiB
YAML
73 lines
2.4 KiB
YAML
name: vociferate
|
|
description: Prepare release files or recommend a next semantic version tag.
|
|
|
|
inputs:
|
|
version:
|
|
description: Optional semantic version override. When omitted, the recommended version is used.
|
|
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'
|
|
|
|
outputs:
|
|
version:
|
|
description: Resolved version used for prepare mode, or the emitted recommended version for recommend mode.
|
|
value: ${{ steps.run-vociferate.outputs.version }}
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '1.26.1'
|
|
|
|
- name: Run vociferate
|
|
id: run-vociferate
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
|
|
common_args=(--root .)
|
|
|
|
if [[ -n "${{ inputs.version-file }}" ]]; then
|
|
common_args+=(--version-file "${{ inputs.version-file }}")
|
|
fi
|
|
|
|
if [[ -n "${{ inputs.version-pattern }}" ]]; then
|
|
common_args+=(--version-pattern "${{ inputs.version-pattern }}")
|
|
fi
|
|
|
|
if [[ -n "${{ inputs.changelog }}" ]]; then
|
|
common_args+=(--changelog "${{ inputs.changelog }}")
|
|
fi
|
|
|
|
if [[ "${{ inputs.recommend }}" == "true" ]]; then
|
|
resolved_version="$(go run git.hrafn.xyz/aether/vociferate/cmd/vociferate@latest "${common_args[@]}" --recommend)"
|
|
echo "$resolved_version"
|
|
echo "version=$resolved_version" >> "$GITHUB_OUTPUT"
|
|
exit 0
|
|
else
|
|
resolved_version="$(printf '%s' "${{ inputs.version }}" | sed 's/^[[:space:]]\+//; s/[[:space:]]\+$//')"
|
|
if [[ -z "$resolved_version" ]]; then
|
|
resolved_version="$(go run git.hrafn.xyz/aether/vociferate/cmd/vociferate@latest "${common_args[@]}" --recommend)"
|
|
fi
|
|
fi
|
|
|
|
echo "version=$resolved_version" >> "$GITHUB_OUTPUT"
|
|
go run git.hrafn.xyz/aether/vociferate/cmd/vociferate@latest "${common_args[@]}" --version "$resolved_version" --date "$(date -u +%F)"
|