Unverified 提交 871e3b41 authored 作者: wwwillchen-bot's avatar wwwillchen-bot 提交者: GitHub

ci: migrate workflow auth from PAT to GitHub App tokens (#3004)

## Summary - Migrated `draft-stale-prs` and `label-rebase-prs` GitHub Actions workflows from using a personal access token (`PR_RW_GITHUB_TOKEN`) to generating tokens via the Dyad GitHub App (`actions/create-github-app-token@v2`) - Improves security and auditability by using scoped, short-lived GitHub App tokens with explicit permissions instead of long-lived PATs ## Test plan - [ ] Verify `draft-stale-prs` workflow runs successfully on its cron schedule (or trigger manually) - [ ] Verify `label-rebase-prs` workflow runs successfully when triggered by push to `main` - [ ] Confirm the GitHub App has the required permissions: `contents: read`, `pull-requests: write`, and `issues: write` (for draft-stale-prs) 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/3004" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by: 's avatarWill Chen <willchen90@gmail.com> Co-authored-by: 's avatarClaude <noreply@anthropic.com>
上级 0ee64472
...@@ -15,9 +15,19 @@ jobs: ...@@ -15,9 +15,19 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: ai-bots environment: ai-bots
steps: steps:
- name: Create GitHub App token
id: app-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.DYAD_GITHUB_APP_ID }}
private-key: ${{ secrets.DYAD_GITHUB_APP_PRIVATE_KEY }}
permission-contents: read
permission-pull-requests: write
permission-issues: write
- uses: actions/github-script@v7 - uses: actions/github-script@v7
with: with:
github-token: ${{ secrets.PR_RW_GITHUB_TOKEN }} github-token: ${{ steps.app-token.outputs.token }}
script: | script: |
const sevenDaysAgo = new Date(); const sevenDaysAgo = new Date();
sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7); sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7);
......
...@@ -13,9 +13,18 @@ jobs: ...@@ -13,9 +13,18 @@ jobs:
environment: ai-bots environment: ai-bots
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Create GitHub App token
id: app-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.DYAD_GITHUB_APP_ID }}
private-key: ${{ secrets.DYAD_GITHUB_APP_PRIVATE_KEY }}
permission-contents: read
permission-pull-requests: write
- uses: actions/github-script@v7 - uses: actions/github-script@v7
with: with:
github-token: ${{ secrets.PR_RW_GITHUB_TOKEN }} github-token: ${{ steps.app-token.outputs.token }}
script: | script: |
const allowedAuthors = ['wwwillchen', 'wwwillchen-bot', 'dyadbot', 'dyad-assistant']; const allowedAuthors = ['wwwillchen', 'wwwillchen-bot', 'dyadbot', 'dyad-assistant'];
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论