regression-gate never gates: the merge queue is bypassed by admin merges
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- Half a day
- Newbie friendliness
- 70/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- github-actions
- Domain
- ci-cd
Research direction
Start at .github/workflows/regression.yml and its on: triggers, then look at how the other workflows handle post-merge runs and at the tree-identical guard described in issue #1925. Decide which of the three options (2 is suggested) you are implementing: add a push-to-master trigger and/or correct the merge-queue wording in CLAUDE.md. Done looks like regression running automatically on merges plus documentation that matches reality; note that the ruleset/queue part (option 3) may need maintainer access, not code.
Written by the indexing model from the issue text.
Description
Not a misconfiguration — a consequence of a deliberate choice, written down because the current state is easy to misread as protection that exists.
What is actually true
The master ruleset has a merge_queue rule and four required checks: build, CI-Test-group-Fast, CI-Test-group-Quarkus, regression-gate.
merge_group has never fired — zero runs, ever, across every workflow.
The reason is simple and intentional: merges are done with gh pr merge --admin, because the 1-review requirement usually cannot be satisfied (there is frequently no second reviewer available). --admin bypasses both the review requirement and the queue.
What follows from that
regression-gategates nothing. Only the merge queue produces it, soregression.ymlruns only when kicked by hand (gh workflow run regression.yml --ref master) or on the nightly schedule. That manual step is already documented inCLAUDE.md, which is the tell: a gate you have to remember to pull is not a gate.- The post-merge push to master is the only automatic validation of a merged result. That matters for #1925, which skips that run when the merge tree is identical to the branch — safe precisely because the branch run covered the same tree, but it does mean the fast lane, not the queue, is the real safety net.
CLAUDE.mddescribes "a merge queue that runs the full suite before landing". That has never happened.
Options
- Document it and move on. Change
CLAUDE.mdto say regression is a post-merge manual/nightly check rather than a landing gate, and keep the habit of kicking it after an admin merge. Zero cost, no false sense of a gate. - Make regression a real post-merge check — trigger
regression.ymlon pushes tomaster. It then runs automatically on exactly the thing that landed, without needing the queue or a reviewer. Costs ~9 minutes of runners per merge, and would want the same tree-identical guard as #1925 so it does not re-run on a tree the branch already covered. - Make the queue usable — drop the review requirement to 0 (keeping the checks), so merges can go through the queue normally and
regression-gategates for real. This trades a review requirement that is not being met anyway for a suite that would then actually run before landing.
I would suggest 2, optionally with 1: it gets regression running automatically on what landed, without pretending a review will appear.
Worth deciding rather than drifting
The risk today is not that anything is broken — regression does get run, by hand and nightly. It is that the ruleset looks like it enforces a full suite before landing, so someone reasonably assumes a merged commit has passed one.
- Dominant language
- Java
- Stars
- 140
- Forks
- 35
- Avg merge
- 17h 39m
- Merged PRs (30d)
- 19
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from virtualcell/vcell
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
virtualcell/vcell#2193 · 1 comment ·
Maintainers usually reply within 1 day
-
Accessibility Requirement Java-based User Interface
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
virtualcell/vcell#2138 ·
Maintainers usually reply within 1 day
-
Accessibility Requirement Java-based
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
virtualcell/vcell#2137 ·
Maintainers usually reply within 1 day
-
Accessibility Requirement User Interface
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
virtualcell/vcell#2135 ·
Maintainers usually reply within 1 day
-
Accessibility Requirement Java-based User Interface
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
virtualcell/vcell#2134 ·
Maintainers usually reply within 1 day
All issues in virtualcell/vcell
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ahmedmmordi/store-app#8 ·
-
jhipster heroku fails on heroku git:remote when reusing an existing app outside a git repositoryOpenarea: triage theme: undefined
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
jhipster/generator-jhipster#36018 ·
Maintainers usually reply within 1 day
-
component/zeebe kind/feature scope/broker
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day