1- name : PR Review on Command
1+ name : PR Review
22
33on :
44 issue_comment :
55 types : [created]
66 pull_request_review_comment :
77 types : [created]
8- # Auto-trigger when PR becomes ready for review (supports forks)
98 pull_request_target :
109 types : [ready_for_review, opened]
1110
@@ -15,99 +14,6 @@ permissions:
1514 issues : write
1615
1716jobs :
18- # ==========================================================================
19- # AUTOMATIC REVIEW FOR DOCKER EMPLOYEES
20- # Triggers when a PR is marked ready for review or opened (non-draft)
21- # Only runs for Docker org members (supports fork-based workflow)
22- # ==========================================================================
23- auto-review :
24- if : |
25- github.event_name == 'pull_request_target' &&
26- !github.event.pull_request.draft
27- runs-on : ubuntu-latest
28-
29- steps :
30- - name : Check if PR author is Docker org member
31- id : membership
32- uses : actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
33- with :
34- github-token : ${{ secrets.ORG_MEMBERSHIP_TOKEN }}
35- script : |
36- const org = 'docker';
37- const username = context.payload.pull_request.user.login;
38-
39- try {
40- await github.rest.orgs.checkMembershipForUser({
41- org: org,
42- username: username
43- });
44- core.setOutput('is_member', 'true');
45- console.log(`✅ ${username} is a Docker org member - proceeding with auto-review`);
46- } catch (error) {
47- if (error.status === 404 || error.status === 302) {
48- core.setOutput('is_member', 'false');
49- console.log(`⏭️ ${username} is not a Docker org member - skipping auto-review`);
50- } else if (error.status === 401) {
51- core.setFailed(
52- '❌ ORG_MEMBERSHIP_TOKEN secret is missing or invalid.\n\n' +
53- 'This secret is required to check Docker org membership for auto-reviews.\n\n' +
54- 'To fix this:\n' +
55- '1. Create a classic PAT with read:org scope at https://github.com/settings/tokens/new\n' +
56- '2. Add it as a repository secret named ORG_MEMBERSHIP_TOKEN:\n' +
57- ' gh secret set ORG_MEMBERSHIP_TOKEN --repo docker/cagent'
58- );
59- } else {
60- core.setFailed(`Failed to check org membership: ${error.message}`);
61- }
62- }
63-
64- # Safe to checkout PR head because review-pr only READS files (no code execution)
65- - name : Checkout PR head
66- if : steps.membership.outputs.is_member == 'true'
67- uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
68- with :
69- fetch-depth : 0
70- ref : ${{ github.event.pull_request.head.sha }}
71-
72- - name : Run PR Review Team
73- if : steps.membership.outputs.is_member == 'true'
74- uses : docker/cagent-action/review-pr@latest
75- with :
76- anthropic-api-key : ${{ secrets.ANTHROPIC_API_KEY }}
77- pr-number : ${{ github.event.pull_request.number }}
78-
79- # ==========================================================================
80- # MANUAL REVIEW PIPELINE
81- # Triggers when someone comments /review on a PR
82- # ==========================================================================
83- run-review :
84- if : github.event.issue.pull_request && contains(github.event.comment.body, '/review')
85- runs-on : ubuntu-latest
86-
87- steps :
88- - name : Checkout repository
89- uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
90- with :
91- fetch-depth : 0
92-
93- - name : Run PR Review Team
94- uses : docker/cagent-action/review-pr@latest
95- with :
96- anthropic-api-key : ${{ secrets.ANTHROPIC_API_KEY }}
97-
98- # ==========================================================================
99- # LEARN FROM FEEDBACK
100- # Processes replies to agent review comments for continuous improvement
101- # ==========================================================================
102- learn-from-feedback :
103- if : github.event_name == 'pull_request_review_comment' && github.event.comment.in_reply_to_id
104- runs-on : ubuntu-latest
105-
106- steps :
107- - name : Checkout repository
108- uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
109-
110- - name : Learn from user feedback
111- uses : docker/cagent-action/review-pr/learn@latest
112- with :
113- anthropic-api-key : ${{ secrets.ANTHROPIC_API_KEY }}
17+ review :
18+ uses : docker/cagent-action/.github/workflows/review-pr.yml@latest
19+ secrets : inherit
0 commit comments