Feat: Add Merge Group support#292
Open
bramwelt wants to merge 3 commits into
Open
Conversation
Run the DCO status check when commits are added to a merge queue. Fetches the original PR using the PR number parsed from the merge group's head_ref, runs DCO validation against the PR's commits, and reports the result on the merge group's head_sha. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
smee-client v1.x used a different export style that caused 'SmeeClient is not a constructor' when Probot (which requires ^5.0.0) tried to use it as a constructor. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
There was a problem hiding this comment.
Pull request overview
Adds support for GitHub’s merge queue “merge group” checks flow so the DCO app reports its result against the merge-group SHA, ensuring DCO validation runs when a PR enters the merge queue.
Changes:
- Add a
merge_group.checks_requestedhandler that parses the PR number frommerge_group.head_ref, fetches the PR, and reports the DCO check onmerge_group.head_sha. - Extend the core
check()function to optionally report to an override SHA/ref (to support merge groups). - Update the GitHub App manifest events and bump the
smee-clientdev dependency.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| index.js | Adds merge group handler and allows check() to report against a specified SHA/ref. |
| test/index.test.js | Adds merge-group tests for passing/failing/ignored head_ref formats. |
| test/fixtures/merge_group.checks_requested.json | Adds a merge_group webhook fixture used by tests. |
| app.yml | Adds merge_group to default_events in the app manifest. |
| package.json | Updates smee-client dev dependency version. |
| package-lock.json | Locks updated dependency graph for smee-client@5.0.0. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+162
to
+165
| await check(context, pr, { | ||
| reportSha: mergeGroup.head_sha, | ||
| reportRef: mergeGroup.head_ref, | ||
| }); |
Comment on lines
+752
to
+756
| expect(body).toMatchObject({ | ||
| conclusion: "action_required", | ||
| head_branch: | ||
| "refs/heads/gh-readonly-queue/master/pr-113-e76ed6025cec8879c75454a6efd6081d46de4c94", | ||
| head_sha: "abc123def456abc123def456abc123def456abc1", |
Comment on lines
+787
to
+791
| expect(body).toMatchObject({ | ||
| conclusion: "success", | ||
| head_branch: | ||
| "refs/heads/gh-readonly-queue/master/pr-113-e76ed6025cec8879c75454a6efd6081d46de4c94", | ||
| head_sha: "abc123def456abc123def456abc123def456abc1", |
Comment on lines
25
to
+28
| "@biomejs/biome": "2.5.2", | ||
| "jest": "^30.4.2", | ||
| "nock": "^14.0.0", | ||
| "smee-client": "^1.0.1" | ||
| "smee-client": "5.0.0" |
Register test/fixtures/merge_group.checks_requested.json in REUSE.toml so reuse lint passes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
@bramwelt is attempting to deploy a commit to the DCO App Team on Vercel. A member of the Team first needs to authorize it. |
| "action": "checks_requested", | ||
| "merge_group": { | ||
| "head_sha": "abc123def456abc123def456abc123def456abc1", | ||
| "head_ref": "refs/heads/gh-readonly-queue/master/pr-113-e76ed6025cec8879c75454a6efd6081d46de4c94", |
Comment on lines
+754
to
+755
| head_branch: | ||
| "refs/heads/gh-readonly-queue/master/pr-113-e76ed6025cec8879c75454a6efd6081d46de4c94", |
Comment on lines
+789
to
+790
| head_branch: | ||
| "refs/heads/gh-readonly-queue/master/pr-113-e76ed6025cec8879c75454a6efd6081d46de4c94", |
| "jest": "^30.4.2", | ||
| "nock": "^14.0.0", | ||
| "smee-client": "^1.0.1" | ||
| "smee-client": "5.0.0" |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Post-merge action required
After merging, the Merge group event subscription must be manually enabled in the GitHub App settings:
GitHub → Settings → Developer settings → GitHub Apps → DCO → Permissions & events → Subscribe to events → check "Merge group"
Test plan
🤖 Generated with Claude Code