fix(ci): restore trusted PR review dispatch

This commit is contained in:
Tam Nhu Tran
2026-04-14 13:47:55 -04:00
parent d6ec5eeebd
commit 0d2ce7d1b3
2 changed files with 23 additions and 1 deletions
+18 -1
View File
@@ -15,6 +15,16 @@ on:
concurrency:
group: >-
pr-agent-${{
github.event_name == 'workflow_dispatch' && format('dispatch-{0}', github.run_id) ||
(
github.event_name == 'issue_comment' && (
github.event.comment.body != '/review' ||
(
github.event.sender.type == 'Bot' &&
github.event.sender.login != 'github-actions[bot]'
)
)
) && format('skip-{0}', github.run_id) ||
github.event.pull_request.number ||
github.event.issue.number ||
github.event.inputs.pr_number ||
@@ -31,12 +41,19 @@ jobs:
issues: write
steps:
- name: Generate App Token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.CCS_REVIEWER_APP_ID }}
private-key: ${{ secrets.CCS_REVIEWER_PRIVATE_KEY }}
- name: Post /review command to the PR
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ github.event.inputs.pr_number }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
github-token: ${{ steps.app-token.outputs.token }}
script: |
const issue_number = Number(process.env.PR_NUMBER);
if (!Number.isInteger(issue_number) || issue_number <= 0) {
@@ -20,6 +20,7 @@ describe('PR-Agent review lane migration', () => {
expect(workflow).toContain('name: AI Code Review');
expect(workflow).toContain('runs-on: [self-hosted, cliproxy]');
expect(workflow).toContain('uses: qodo-ai/pr-agent');
expect(workflow).toContain('uses: actions/create-github-app-token@v1');
expect(workflow).toContain('OPENAI.API_BASE');
expect(workflow).toContain('OPENAI_KEY');
expect(workflow).toContain('vars.AI_REVIEW_BASE_URL');
@@ -28,6 +29,10 @@ describe('PR-Agent review lane migration', () => {
expect(workflow).toContain('github_action_config.auto_review');
expect(workflow).toContain("github.event.comment.body == '/review'");
expect(workflow).toContain('github.event.comment.author_association');
expect(workflow).toContain("format('skip-{0}', github.run_id)");
expect(workflow).toContain("format('dispatch-{0}', github.run_id)");
expect(workflow).toContain('CCS_REVIEWER_APP_ID');
expect(workflow).toContain('CCS_REVIEWER_PRIVATE_KEY');
expect(workflow).not.toContain('uses: anthropics/claude-code-action@v1');
expect(config).toContain('[config]');