@@ -18,11 +18,53 @@ jobs:
1818 steps :
1919 - uses : googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4
2020 id : release
21-
22- release-sdk :
21+
22+ create-tag :
2323 needs : release-please
2424 if : ${{ needs.release-please.outputs.release-created == 'true' }}
25+ runs-on : ubuntu-latest
26+ permissions :
27+ contents : write
28+ steps :
29+ - uses : actions/checkout@v4
30+ with :
31+ fetch-depth : 0
32+
33+ - name : Create release tag
34+ env :
35+ TAG_NAME : ${{ needs.release-please.outputs.tag-name }}
36+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
37+ run : |
38+ if gh api "repos/${{ github.repository }}/git/ref/tags/${TAG_NAME}" >/dev/null 2>&1; then
39+ echo "Tag ${TAG_NAME} already exists, skipping creation."
40+ else
41+ echo "Creating tag ${TAG_NAME}."
42+ git config user.name "github-actions[bot]"
43+ git config user.email "github-actions[bot]@users.noreply.github.com"
44+ git tag "${TAG_NAME}"
45+ git push origin "${TAG_NAME}"
46+ fi
47+
48+ release-sdk :
49+ needs : ['release-please', 'create-tag']
50+ if : ${{ needs.release-please.outputs.release-created == 'true' }}
2551 uses : ./.github/workflows/publish.yml
2652 with :
2753 dry_run : false
2854 tag_name : ${{ needs.release-please.outputs.tag-name }}
55+
56+ publish-release :
57+ needs : ['release-please', 'release-sdk']
58+ if : ${{ needs.release-please.outputs.release-created == 'true' }}
59+ runs-on : ubuntu-latest
60+ permissions :
61+ contents : write
62+ steps :
63+ - name : Publish release
64+ env :
65+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
66+ TAG_NAME : ${{ needs.release-please.outputs.tag-name }}
67+ run : >
68+ gh release edit "$TAG_NAME"
69+ --repo ${{ github.repository }}
70+ --draft=false
0 commit comments