#33145 CI: silent merge check
https://github.com/bitcoin/bitcoin/pull/33145 · · +412/-0 in 3 files, 1 commits · labels: Tests
Goal
- Automatically detect logical merge conflicts between open pull requests and master
- Saves maintainers from tedious manual testing to catch PRs broken by newly merged code
Adds a periodic GitHub Actions workflow and helper scripts to check open pull requests for silent merge conflicts against master. The scheduled job sequentially merges candidate PR heads onto master, builds and runs tests, and posts the status via the GitHub Checks API.
Problem: PRs can conflict logically with newly merged code on master without triggering git merge conflicts, requiring manual testing and review to detect broken PRs before or after merge.
Category: Build and CI (#26 of 55)
P3 · new feature
- P3 because it reduces maintainer toil by automating logical conflict detection across PRs
- Does not affect release integrity, supported platform builds, or core CI reliability
Worthwhile developer and maintainer tooling that automates detecting silent merge conflicts across open PRs. It reduces maintainer toil but does not affect release integrity, supported platform builds, or core CI reliability.
Membership: Adds a periodic GitHub Actions workflow and automation scripts under .github/ to run builds and tests against PR merge heads.
Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 1
Reviewability: Stale: Author silent
- Author has been silent for over two months
The author has been inactive for 78 days since the last push on 2026-07-01, exceeding the 60-day threshold.
Author status: silent since 2026-07-01
Open concerns:
- Optional integration with CDash or lint checks was discussed but deferred to keep runs fast and simple.
Resolved concerns:
- Separated the write token permissions into an isolated reporting job so PR code cannot access GitHub check credentials.
- Added timestamps and collapsed log groups for failing PR runs.
Agreement: Strong
- Strong support to replace tedious manual searching for silent conflicts (maflcko)
- Concept approval for automated conflict detection (fjahr)
- Permissions and execution efficiency concerns were resolved (willcl-ark)
Strong maintainer support from maflcko and fjahr for automated silent merge conflict detection.
Maintainers actively want the feature to replace manual and ad-hoc scripts for finding logical merge conflicts across open pull requests.
- maflcko noted that manual searching for silent merge conflicts is tedious and approved the PR approach.
- fjahr gave Concept ACK.
- willcl-ark raised permissions and execution efficiency considerations, which author addressed.
Review verdicts (DrahtBot): 0
- Concept ACK: fjahr
Files
0 lines under test/bench/ci.
- .github/silent-merge-test.py +256/-0
- .github/workflows/silent-merge-check.yml +83/-0
- .github/silent-merge-report.py +73/-0
Card
Adds a periodic GitHub Actions workflow and python scripts that loop over open PRs, merge them locally against current master, build and run tests, and post results via GitHub Checks. It solves the problem of silent logical merge conflicts that pass git merge checks but break builds or tests, reducing maintainer effort currently spent manually investigating PRs. Maintainers support the initiative and past permission and logging concerns were addressed, but the PR has been dormant without author activity for over two months.