Skip to content

Commit 1a094d7

Browse files
committed
WIP [2026-06-08 11:01:20]
Signed-off-by: Derek Misler <derek.misler@docker.com>
1 parent 5806f94 commit 1a094d7

5 files changed

Lines changed: 31 additions & 11 deletions

File tree

.github/workflows/review-pr.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ jobs:
159159
(needs.resolve-context.result == 'success' && needs.resolve-context.outputs.trigger-event == 'pull_request')
160160
)
161161
runs-on: ubuntu-latest
162-
timeout-minutes: 35
162+
timeout-minutes: 50
163163
permissions:
164164
contents: read
165165
pull-requests: write
@@ -224,6 +224,18 @@ jobs:
224224
echo "⏭️ Not a /review command, skipping"
225225
fi
226226
227+
- name: Post /review deprecation notice
228+
if: github.event_name == 'issue_comment' && steps.command.outputs.is_review == 'true'
229+
shell: bash
230+
env:
231+
GH_TOKEN: ${{ steps.resolve-token.outputs.token }}
232+
PR_NUMBER: ${{ steps.resolve-context.outputs.pr-number }}
233+
REPOSITORY: ${{ github.repository }}
234+
run: |
235+
gh api "repos/$REPOSITORY/issues/$PR_NUMBER/comments" \
236+
-f body="👋 **Heads up:** The \`/review\` command is deprecated. Please re-request a review from \`docker-agent\` in the PR sidebar instead. This review will still complete normally." \
237+
2>&1 || echo "::warning::Failed to post /review deprecation notice"
238+
227239
- name: Classify trigger type
228240
id: trigger-type
229241
shell: bash

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ jobs:
214214

215215
### PR Review Workflow
216216

217-
For comprehensive documentation on setting up AI-powered PR reviews, including features like requesting a review from `docker-agent`, automatic reviews, the `/review` command, feedback learning, and customization options, see the **[PR Review documentation](review-pr/README.md)**.
217+
For comprehensive documentation on setting up AI-powered PR reviews, including features like automatic reviews, requesting a review from `docker-agent`, feedback learning, and customization options, see the **[PR Review documentation](review-pr/README.md)**.
218218

219219
### Manual Trigger with Inputs
220220

review-pr/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
AI-powered pull request review using a multi-agent system. Analyzes code changes, posts inline comments, and learns from your feedback.
44

5-
> **Primary trigger:** Add `docker-agent` as a reviewer in the PR sidebar — the review starts automatically. The `/review` comment is always available for re-triggering.
5+
> **Primary trigger:** Add `docker-agent` as a reviewer in the PR sidebar — the review starts automatically. To re-trigger a review, re-request a review from `docker-agent` in the PR sidebar. The `/review` comment still works but is deprecated.
66
77
## Quick Start
88

@@ -152,7 +152,7 @@ The `pull_request` trigger types in your calling workflow control how often revi
152152
pull_request:
153153
types: [opened, ready_for_review, review_requested]
154154
```
155-
Reviews run when a PR is opened or marked ready for review. After the initial review, further `pull_request`-triggered reviews only run when `docker-agent` is explicitly re-requested as a reviewer. Use `/review` to re-trigger ad-hoc at any time.
155+
Reviews run when a PR is opened or marked ready for review. After the initial review, further `pull_request`-triggered reviews only run when `docker-agent` is explicitly re-requested as a reviewer. Re-request a review from `docker-agent` in the PR sidebar to re-trigger at any time. The `/review` comment still works but is deprecated.
156156

157157
**Mode A — continuous re-review on every push:**
158158
```yaml
@@ -174,7 +174,7 @@ with:
174174
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
175175
| Request review from `docker-agent` | **Primary trigger.** Add `docker-agent` as a reviewer in the PR sidebar — review starts automatically, shown as a check run. |
176176
| PR opened/ready | Auto-reviews when a PR is opened or marked ready for review. |
177-
| `/review` comment | Re-trigger a review, or trigger manually when auto-review hasn't run (e.g. after a force-push). Shows as a check run if `checks: write` is granted. |
177+
| ~~`/review`~~ _(deprecated)_ | Re-trigger a review, or trigger manually when auto-review hasn't run (e.g. after a force-push). Shows as a check run if `checks: write` is granted. |
178178
| Reply to review comment | Responds in-thread and captures feedback to improve future reviews. |
179179
| `@docker-agent` mention | Answers questions and clarifies review findings. Works in both PR-level issue comments and inline file-line review comments, including on fork PRs (via the trigger workflow). |
180180

review-pr/action.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,7 @@ runs:
759759
with:
760760
agent: ${{ env.ACTION_PATH }}/agents/pr-review.yaml
761761
prompt: ${{ steps.context.outputs.review_prompt }}
762-
timeout: "1800" # 30 min — allows complex reviews to complete; lock TTL (600 s) is intentionally shorter
762+
timeout: "2700" # 45 min — allows complex reviews to complete; lock TTL (600 s) is intentionally shorter
763763
anthropic-api-key: ${{ inputs.anthropic-api-key }}
764764
openai-api-key: ${{ inputs.openai-api-key }}
765765
google-api-key: ${{ inputs.google-api-key }}
@@ -816,6 +816,7 @@ runs:
816816
VERBOSE_LOG_FILE: ${{ steps.run-review.outputs.verbose-log-file }}
817817
SKIP_REASON: ${{ steps.lock-check.outputs.skip-reason }}
818818
LOCK_AGE: ${{ steps.lock-check.outputs.lock-age }}
819+
CHUNK_COUNT: ${{ steps.chunk-diff.outputs.chunk_count }}
819820
run: |
820821
REVIEW_URL="https://github.com/$REPOSITORY/pull/$PR_NUMBER"
821822
echo "review-url=$REVIEW_URL" >> $GITHUB_OUTPUT
@@ -829,13 +830,18 @@ runs:
829830
elif [ -z "$EXIT_CODE" ]; then
830831
STATUS="⏭️ **Review skipped** — agent did not run"
831832
elif [ "$EXIT_CODE" = "124" ]; then
832-
# Timeout (SIGKILL after 1800 s) — provide actionable guidance
833-
STATUS="⏱️ **Review timed out** (exit code: 124, limit: 1800 s)"
834-
TIMEOUT_NOTE="- **Exit code:** 124 (SIGKILL — 1800 s timeout)"
835-
TIMEOUT_NOTE+=$'\n'"- **Timeout limit:** 1800 s"
833+
# Timeout (SIGKILL after 2700 s) — provide actionable guidance
834+
STATUS="⏱️ **Review timed out** (exit code: 124, limit: 2700 s)"
835+
TIMEOUT_NOTE="- **Exit code:** 124 (SIGKILL — 2700 s timeout)"
836+
TIMEOUT_NOTE+=$'\n'"- **Timeout limit:** 2700 s"
836837
TIMEOUT_NOTE+=$'\n'"- Verbose log artifact (${VERBOSE_LOG_FILE}) uploaded for debugging."
838+
if [ "${CHUNK_COUNT:-1}" = "1" ]; then
839+
TIMEOUT_BODY="⏱️ **PR Review Timed Out** — The review agent hit the 2700 s time limit. The diff is small (1 chunk), so this may be an agent loop rather than a large-diff problem. Re-request a review from \`docker-agent\` to retry. If it times out again, download the verbose log artifact for details."
840+
else
841+
TIMEOUT_BODY="⏱️ **PR Review Timed Out** — The review agent hit the 2700 s time limit. This usually happens on large or complex diffs. Re-request a review from \`docker-agent\` to retry — if it times out again, consider splitting the PR into smaller pieces."
842+
fi
837843
if ! gh api "repos/$REPOSITORY/issues/$PR_NUMBER/comments" \
838-
-f body="⏱️ **PR Review Timed Out** — The review agent hit the 1800 s time limit before completing. This usually happens on large or complex diffs. You can re-trigger with \`/review\` — if it times out again, consider splitting the PR into smaller pieces." \
844+
-f body="$TIMEOUT_BODY" \
839845
2>&1; then
840846
echo "::warning::Failed to post timeout comment to PR"
841847
fi

review-pr/agents/pr-review.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,7 @@ agents:
324324

325325
drafter:
326326
model: sonnet
327+
max_iterations: 40
327328
description: Bug Hypothesis Generator
328329
add_date: true
329330
instruction: |
@@ -597,6 +598,7 @@ agents:
597598

598599
verifier:
599600
model: sonnet
601+
max_iterations: 20
600602
description: Hypothesis Verifier
601603
add_date: true
602604
instruction: |

0 commit comments

Comments
 (0)