Skip to content

Commit a969191

Browse files
authored
Merge pull request #1595 from derekmisler/cagent-action-workflow-with-github-app-built-in
Simplifies PR review workflow by adopting the new reusable workflow from cagent-action
2 parents c833f7e + 9a0459b commit a969191

1 file changed

Lines changed: 4 additions & 98 deletions

File tree

.github/workflows/pr-review.yml

Lines changed: 4 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
name: PR Review on Command
1+
name: PR Review
22

33
on:
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

1716
jobs:
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

Comments
 (0)