From c94ac6a5f0d39c39d8fe91daf89907dc3684d52c Mon Sep 17 00:00:00 2001 From: Sung-Kyu Yoo Date: Tue, 21 Apr 2026 02:04:00 +0900 Subject: [PATCH 1/2] fix: resolve broken action SHAs in release workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace non-resolvable commit SHA references with semver tags: - actions/setup-go: SHA → v6 - actions/upload-artifact: SHA → v4 --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index acd8e4f..5caa7ce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@41dfa10bef8ca8f7c4c7cec63b269ccb8a9156b9 # v6 + uses: actions/setup-go@v6 with: go-version-file: go.mod cache-dependency-path: go.sum @@ -46,7 +46,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload assets - uses: actions/upload-artifact@5d5df5e032fcb57d3c9d9901e9b8f8b2b7d8051a # v7 + uses: actions/upload-artifact@v4 with: name: devcloud path: dist/* From c6752f442024f8d4c523ab33eaf3a2881ddecc66 Mon Sep 17 00:00:00 2001 From: Sung-Kyu Yoo Date: Tue, 21 Apr 2026 02:06:53 +0900 Subject: [PATCH 2/2] feat: add workflow_dispatch to release workflow for testing Allow manual triggering with tag input and dry-run mode to test the release pipeline without publishing artifacts. --- .github/workflows/release.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5caa7ce..f487429 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,17 @@ on: push: tags: - 'v*' + workflow_dispatch: + inputs: + tag: + description: 'Tag to release (e.g. v0.2.0)' + required: true + type: string + dry_run: + description: 'Skip publishing (dry run)' + required: false + type: boolean + default: true jobs: release: @@ -30,11 +41,14 @@ jobs: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Resolve tag + id: resolve_tag + run: echo "tag=${{ github.event.inputs.tag || github.ref_name }}" >> "$GITHUB_OUTPUT" - name: Verify changie release notes exist run: | - if [ ! -f "changes/${{ github.ref_name }}.md" ]; then - echo "::error::Changie fragment changes/${{ github.ref_name }}.md not found." - echo "::error::Run 'changie batch ${{ github.ref_name }}' and 'changie merge' before pushing the tag." + if [ ! -f "changes/${{ steps.resolve_tag.outputs.tag }}.md" ]; then + echo "::error::Changie fragment changes/${{ steps.resolve_tag.outputs.tag }}.md not found." + echo "::error::Run 'changie batch ${{ steps.resolve_tag.outputs.tag }}' and 'changie merge' before pushing the tag." exit 1 fi - name: Execute GoReleaser @@ -42,10 +56,11 @@ jobs: with: distribution: goreleaser version: "~> v2" - args: release --clean --release-notes changes/${{ github.ref_name }}.md + args: release --clean --release-notes changes/${{ steps.resolve_tag.outputs.tag }}.md ${{ github.event.inputs.dry_run == 'true' && '--skip-publish' || '' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload assets + if: ${{ github.event.inputs.dry_run != 'true' }} uses: actions/upload-artifact@v4 with: name: devcloud