@@ -20,48 +20,54 @@ jobs:
2020 permissions :
2121 contents : write
2222 pull-requests : write
23+ env :
24+ RELEASE_TOKEN : ${{ secrets.RELEASE_TOKEN }}
2325 steps :
24- - name : Require release token
25- env :
26- RELEASE_TOKEN : ${{ secrets.RELEASE_TOKEN }}
26+ - name : Check release token
27+ id : release-token
2728 run : |
2829 set -euo pipefail
2930 if [[ -z "${RELEASE_TOKEN}" ]]; then
30- echo "::error::Configure RELEASE_TOKEN with permission to push release PR branches and open pull requests."
31- exit 1
31+ echo "::notice::Skipping release preparation because RELEASE_TOKEN is not configured."
32+ echo "configured=false" >> "$GITHUB_OUTPUT"
33+ exit 0
3234 fi
35+ echo "configured=true" >> "$GITHUB_OUTPUT"
3336
3437 - name : Checkout
38+ if : steps.release-token.outputs.configured == 'true'
3539 uses : actions/checkout@v6
3640 with :
3741 fetch-depth : 0
3842 ref : main
3943
4044 - name : Set up Bun
45+ if : steps.release-token.outputs.configured == 'true'
4146 uses : oven-sh/setup-bun@v2
4247 with :
4348 bun-version : 1.3.14
4449
4550 - name : Install dependencies
51+ if : steps.release-token.outputs.configured == 'true'
4652 run : bun install --frozen-lockfile
4753
4854 - name : Configure release git author
49- env :
50- RELEASE_TOKEN : ${{ secrets.RELEASE_TOKEN }}
55+ if : steps.release-token.outputs.configured == 'true'
5156 run : |
5257 set -euo pipefail
5358 git config user.name "github-actions[bot]"
5459 git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
5560 git remote set-url origin "https://x-access-token:${RELEASE_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
5661
5762 - name : Prepare release
63+ if : steps.release-token.outputs.configured == 'true'
5864 id : release
5965 env :
6066 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
6167 run : bun run release --no-push --no-github
6268
6369 - name : Ensure release PR runs CI
64- if : steps.release.outputs.published == 'true'
70+ if : steps.release-token.outputs.configured == 'true' && steps.release .outputs.published == 'true'
6571 run : |
6672 set -euo pipefail
6773 subject="$(git log -1 --pretty=%s)"
7278 fi
7379
7480 - name : Open release PR
75- if : steps.release.outputs.published == 'true'
81+ if : steps.release-token.outputs.configured == 'true' && steps.release .outputs.published == 'true'
7682 env :
7783 GH_TOKEN : ${{ secrets.RELEASE_TOKEN }}
7884 RELEASE_VERSION : ${{ steps.release.outputs.version }}
0 commit comments