Skip to content

ci: request a Copilot review once CI first passes on a PR to main - #1016

Open
alongd wants to merge 1 commit into
mainfrom
copilot-review-on-green
Open

ci: request a Copilot review once CI first passes on a PR to main#1016
alongd wants to merge 1 commit into
mainfrom
copilot-review-on-green

Conversation

@alongd

@alongd alongd commented Aug 22, 2026

Copy link
Copy Markdown
Member

What

Adds .github/workflows/copilot-review.yml: the first time a PR to main passes CI, it requests a Copilot code review — once.

How

Listens on workflow_run for the CI workflow completing with conclusion == success on a pull_request, resolves the PR (event payload for same-repo PRs; head-SHA lookup for forks), and adds copilot-pull-request-reviewer[bot] as a reviewer. A dedup check (skip if Copilot is already requested or has already reviewed) keeps it to one pass per PR — it does not re-fire on later green pushes.

Why gated on green, not a ruleset

A copilot_code_review branch ruleset can only fire on PR open or on every push — it cannot wait for CI. Gating on green keeps Copilot off red branches and off the quota until the branch actually builds, and holds it to a single review.

Notes

  • Config-only: no change to ci.yml or any source/test.
  • The listener activates once this is on main; it takes effect on the next PR.
  • permissions: pull-requests: write, contents: read.

@codecov

codecov Bot commented Aug 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.52%. Comparing base (db9136e) to head (7b20a03).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1016      +/-   ##
==========================================
- Coverage   64.56%   64.52%   -0.05%     
==========================================
  Files         119      119              
  Lines       39706    39706              
  Branches    10289    10289              
==========================================
- Hits        25638    25619      -19     
- Misses      11085    11102      +17     
- Partials     2983     2985       +2     
Flag Coverage Δ
functionaltests 64.52% <ø> (-0.05%) ⬇️
unittests 64.52% <ø> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Adds .github/workflows/copilot-review.yml. It listens on workflow_run for the
"CI" workflow completing successfully and, for a PR targeting main, requests
a Copilot code review exactly once — the first time CI is green. A dedup check
(skip if Copilot is already a requested reviewer or has already reviewed) keeps
it to a single pass rather than re-firing on every subsequent green push.

Chosen over a copilot_code_review branch ruleset, which can only fire on PR open
or on every push and cannot gate on CI passing — so it would review red branches
and burn Copilot's premium-request quota on them.
@alongd
alongd force-pushed the copilot-review-on-green branch from 85a0c5d to 7b20a03 Compare August 23, 2026 05:17
@alongd
alongd requested a lite review from Copilot August 23, 2026 16:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a GitHub Actions workflow that waits for the repository’s existing CI workflow to complete successfully on a PR targeting main, then requests a Copilot code review exactly once per PR via a dedup check.

Changes:

  • Introduces a workflow_run listener gated on conclusion == success and event == pull_request.
  • Resolves the PR from the workflow_run payload (with a fork fallback) and requests copilot-pull-request-reviewer[bot].
  • Avoids repeat requests by skipping if Copilot is already requested or has already reviewed.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +37 to +40
if [ -z "$pr" ]; then
pr=$(gh pr list --repo "$REPO" --state open --search "$HEAD_SHA" \
--json number,baseRefName --jq '.[] | select(.baseRefName=="main") | .number' | head -1)
fi
Comment on lines +63 to +66
# The reviewer login the request API expects (distinct from the review author's slug).
gh api --method POST "repos/$REPO/pulls/$pr/requested_reviewers" \
-f 'reviewers[]=copilot-pull-request-reviewer[bot]'
echo "Requested Copilot review on #$pr."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants