name: Prepare Release on: workflow_dispatch: inputs: version: description: Optional semantic version override, with or without leading v. When omitted, the recommended version is used. required: false workflow_call: inputs: version: description: Optional semantic version override, with or without leading v. When omitted, the recommended version is used. required: false default: '' type: string jobs: prepare: runs-on: ubuntu-latest container: docker.io/catthehacker/ubuntu:act-latest outputs: tag: ${{ steps.prepare.outputs.version }} defaults: run: shell: bash env: SUMMARY_FILE: ${{ runner.temp }}/prepare-release-summary.md steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.26.1' check-latest: true cache: true cache-dependency-path: go.sum - name: Run tests run: go test ./... - name: Resolve cache token id: cache-token run: echo "value=${GITHUB_SHA}" >> "$GITHUB_OUTPUT" - name: Prepare and tag release id: prepare uses: ./prepare env: VOCIFERATE_CACHE_TOKEN: ${{ steps.cache-token.outputs.value }} with: version: ${{ inputs.version }} - name: Summarize prepared release run: | set -euo pipefail tag="${{ steps.prepare.outputs.version }}" { echo "## Release Prepared" echo echo "- Tag pushed: ${tag}" echo "- Calling Do Release workflow for ${tag}." } >> "$SUMMARY_FILE" - name: Summary if: ${{ always() }} run: | set -euo pipefail echo 'Summary' echo if [[ -s "$SUMMARY_FILE" ]]; then cat "$SUMMARY_FILE" else echo 'No summary generated.' fi publish: needs: prepare uses: ./.gitea/workflows/do-release.yml with: tag: ${{ needs.prepare.outputs.tag }} secrets: inherit