Skip to content

Commit d4909fe

Browse files
fix: resolve draft release
Signed-off-by: Swarit Pandey <swarit@stepsecurity.io>
1 parent dfc30a2 commit d4909fe

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

.github/workflows/release.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,23 @@ jobs:
6565
env:
6666
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6767

68+
- name: Resolve draft release tag
69+
id: release
70+
env:
71+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
72+
run: |
73+
# GoReleaser creates draft releases under an "untagged-*" slug,
74+
# so gh release upload by version tag returns 404. Look up the
75+
# actual tag GitHub assigned to the draft.
76+
release_tag=$(gh api "repos/${{ github.repository }}/releases" \
77+
--jq '[.[] | select(.draft and .name == "${{ steps.version.outputs.tag }}")] | first | .tag_name')
78+
if [ -z "$release_tag" ] || [ "$release_tag" = "null" ]; then
79+
echo "::error::Could not find draft release for ${{ steps.version.outputs.tag }}"
80+
exit 1
81+
fi
82+
echo "tag=$release_tag" >> "$GITHUB_OUTPUT"
83+
echo "Resolved draft release tag: $release_tag"
84+
6885
- name: Install cosign
6986
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0
7087

@@ -103,7 +120,7 @@ jobs:
103120
env:
104121
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105122
run: |
106-
gh release upload "${{ steps.version.outputs.tag }}" \
123+
gh release upload "${{ steps.release.outputs.tag }}" \
107124
"${{ steps.binaries.outputs.darwin }}.bundle" \
108125
"${{ steps.binaries.outputs.win_amd64 }}.bundle" \
109126
"${{ steps.binaries.outputs.win_arm64 }}.bundle" \

0 commit comments

Comments
 (0)