From caf9d67e4b72e368b518b2f91b3f66279c38215d Mon Sep 17 00:00:00 2001 From: Jonathan Langevin Date: Fri, 8 May 2026 06:18:45 -0400 Subject: [PATCH 1/3] ci: keep GoReleaser releases draft during upload --- .goreleaser.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 656fb0e..06bff47 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -33,3 +33,6 @@ checksum: changelog: sort: asc + +release: + draft: true From d748fd5cf074f10a18c92a5874d9c1e0888853d3 Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Fri, 8 May 2026 06:21:34 -0400 Subject: [PATCH 2/3] ci: publish GoReleaser draft releases after upload --- .github/workflows/release.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e8c1e92..4b1204b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,3 +22,8 @@ jobs: args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Publish GitHub release + if: ${{ success() }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: gh release edit "${{ github.ref_name }}" --draft=false --repo "${{ github.repository }}" From 3857c683f5753eef759e854bc7271709f5d8dee9 Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Fri, 8 May 2026 10:08:55 -0400 Subject: [PATCH 3/3] ci: publish draft releases through GitHub API --- .github/workflows/release.yml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4b1204b..2550e1d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,18 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Publish GitHub release - if: ${{ success() }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: gh release edit "${{ github.ref_name }}" --draft=false --repo "${{ github.repository }}" + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.RELEASES_TOKEN || github.token }} + script: | + const tag = context.ref.replace('refs/tags/', ''); + const { owner, repo } = context.repo; + const { data: release } = await github.rest.repos.getReleaseByTag({ owner, repo, tag }); + if (release.draft) { + await github.rest.repos.updateRelease({ + owner, + repo, + release_id: release.id, + draft: false, + }); + }