diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9b26519..27b1276 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -100,7 +100,13 @@ jobs: script: | const tag = context.ref.replace('refs/tags/', ''); const { owner, repo } = context.repo; - const { data: release } = await github.rest.repos.getReleaseByTag({ owner, repo, tag }); + // listReleases returns drafts; getReleaseByTag 404s on drafts. GoReleaser + // creates releases as draft; this step flips them to non-draft post-publish. + const { data: releases } = await github.rest.repos.listReleases({ owner, repo, per_page: 100 }); + const release = releases.find(r => r.tag_name === tag); + if (!release) { + throw new Error(`release for tag ${tag} not found in repo listing (latest 100 releases)`); + } if (release.draft) { await github.rest.repos.updateRelease({ owner,