From eeecce7f84f53ccc9dc7d8b67e95d051f10a053e Mon Sep 17 00:00:00 2001 From: Miguel Sanchez Gonzalez Date: Tue, 31 Mar 2026 10:23:34 +0200 Subject: [PATCH] fix(ci): allow asset replacement on manual workflow_dispatch When manually re-running the release workflow for an existing tag, GoReleaser will now replace existing assets instead of failing with a 422 "already_exists" error. Automatic tag pushes still use append mode to prevent accidental overwrites. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/release.yml | 1 + .goreleaser.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f7a21001..3d7755a6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -124,6 +124,7 @@ jobs: GPG_SIGNING_KEY_FILE: ${{ steps.signing-keys.outputs.key_dir }}/gpg-signing-key.asc CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} SKIP_UPLOAD_TAPS: ${{ inputs.upload_taps == true && 'false' || 'auto' }} + RELEASE_MODE: ${{ github.event_name == 'workflow_dispatch' && 'replace' || 'append' }} run: make release - name: Build snapshot (branch) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 31b47ee2..46faf489 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -101,6 +101,7 @@ universal_binaries: replace: true release: + mode: '{{ envOrDefault "RELEASE_MODE" "append" }}' github: owner: upsun name: cli