#33145 CI: silent merge check

full analysis

https://github.com/bitcoin/bitcoin/pull/33145 · m3dwards · +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

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.

Data

dossier JSON · extract JSON · model openrouter/google/gemini-3.8-flash, generated 2026-09-17T16:16, confidence high, input hash 707124ca2ed8046a