Skip to content

Commit 792615a

Browse files
committed
ci: open changesets version PRs with release-bot app token
1 parent eaf1ebd commit 792615a

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

.github/workflows/release.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ jobs:
9191
- name: Build packages
9292
run: pnpm build
9393

94+
- name: Mint release-bot token
95+
id: release-bot
96+
uses: actions/create-github-app-token@v2
97+
with:
98+
app-id: ${{ vars.RELEASE_BOT_APP_ID }}
99+
private-key: ${{ secrets.RELEASE_BOT_PRIVATE_KEY }}
100+
94101
- name: Create Release Pull Request or Publish to npm
95102
id: changesets
96103
uses: changesets/action@v1
@@ -100,10 +107,22 @@ jobs:
100107
commit: "ci: release packages"
101108
title: "ci: release packages"
102109
env:
103-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
110+
# App token (not GITHUB_TOKEN) so the version PR triggers pull_request
111+
# workflows and required status checks / CodeRabbit run on it.
112+
GITHUB_TOKEN: ${{ steps.release-bot.outputs.token }}
104113
# No NPM_TOKEN on purpose: changesets prefers it over OIDC when set, so
105114
# defining it would silently downgrade publishing to a long-lived token.
106115

116+
- name: Request CodeRabbit review on version PR
117+
if: steps.changesets.outputs.published != 'true'
118+
env:
119+
GH_TOKEN: ${{ steps.release-bot.outputs.token }}
120+
run: |
121+
pr=$(gh pr list --head changeset-release/main --state open --json number --jq '.[0].number' || true)
122+
if [ -n "$pr" ] && [ "$pr" != "null" ]; then
123+
gh pr comment "$pr" --body '@coderabbitai review'
124+
fi
125+
107126
- name: Resolve Pythinker Code native release
108127
if: steps.changesets.outputs.published == 'true'
109128
id: pythinker-release

0 commit comments

Comments
 (0)