ci: drive Devflow from GitHub merge queue - #2412
Conversation
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: af93076 | Docs | View more details | Give us feedback! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 27939272d2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
ekump
left a comment
There was a problem hiding this comment.
You can just use the doggo extension for the MQ button and there are better ways to enforce the MQ on the repo than adding the extra complexity of GH's queue.
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
Using the built-in feature that doesn't require an extension is better than reinventing the wheel and makes the experience better for everyone. |
BenchmarksComparisonBenchmark execution time: 2026-08-25 13:18:56 Comparing candidate commit af93076 in PR branch Found 0 performance improvements and 2 performance regressions! Performance is the same for 149 metrics, 1 unstable metrics.
|
|
@ekump I'd definitely prefer this over the doggo or /merge commands. |
What does this PR do?
Adds the supported bridge between GitHub's native merge queue and the Datadog
Devflow merge queue.
When a contributor clicks Merge when ready, the flow is:
enqueuedevent.pull_request_targetworkflow loaded from protectedmainobtains anarrowly scoped Octo STS GitHub App token.
/mergeon the pull request.merge_groupcheck deliberately fails, preventing GitHub from mergingthe pull request itself.
Motivation
The current repository configuration disables the normal merge control for
contributors, requiring them to know and post the
/mergecommand manually.This provides GitHub's standard Merge when ready experience without
allowing GitHub to bypass the custom Devflow queue.
The implementation follows the existing
dd-trace-javaintegration documentedin the internal "GitHub Merge Queue 💜 Datadog Merge Queue" guide.
Additional Notes
The actionlint wrapper is updated from
0.1.9to0.1.12. The former bundlesactionlint
1.7.7, whose event schema predates GitHub's supportedpull_request_target: enqueuedactivity;0.1.12bundles actionlint1.7.12.Steps to enable after this PR lands
These repository settings are intentionally not changed by this PR. A repository
administrator should:
/mergeflow.DataDog/libdatadog.1, so the bridge runs immediately.native merge queue and its Merge when ready button.
Compatibility with existing open pull requests
Enabling the ruleset does not trigger this workflow for pull requests that were
already open. Their current head commits may therefore lack Merge queue
check and will not be able to use Merge when ready immediately.
Those pull requests can continue using the existing
/mergecommand; Devflow'smerge app uses its established ruleset bypass path. No mass backfill or reopening
is required. An existing pull request will gain the new check naturally after
its branch is updated or the pull request is reopened, after which it can use
Merge when ready as well.
The failure on
merge_groupis intentional: it removes the pull request fromGitHub's queue before Devflow takes ownership. Existing
devflow/mergegaterules and
repository.datadog.ymlremain unchanged.How to test the change?
SHELLCHECK_OPTS='-e SC2086' actionlintproduces an Octo STS
/mergecomment and queues the PR in Devflow.Generated by Codex.