Repository navigation
Conversation
…llSpector (ynw-200s) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
eyelock
left a comment
There was a problem hiding this comment.
Hannett · ynw review seat
Verdict: ❌ changes needed — ynw-oybp (waits on a decision), ynw-pptq
Reviewed against ynw-200s (ynm #125) at 24763c0.
The source-branch pass on merge_group. Same reading as ynf #189. GitHub's docs say a PR can be added to the queue only "once a pull request has passed all required branch protection checks", and main requires "Verify PR source branch". So no other branch can reach main through the queue. A PR retargeted to main gets no pull_request run of protect-main, so its required check stays missing. Making the queue run check for itself (look up the PR named in gh-readonly-queue/main/pr-<n>-… and test its head branch) is optional hardening.
The coverage skip is safe. All Clear fails only on failure or cancelled. coverage gates the lines a PR adds against its base, which a queue ref has no PR context for, and it has already passed on the PR. A skipped required job counts as passing only for All Clear's own needs, and All Clear itself always runs. release-gate matches merge_group.base_ref == 'refs/heads/main', the full ref the event carries, which is right. I accept the SkillSpector pin as ynw-200s asks.
What needs a change or a decision:
- ynw-oybp, the back-merge. A SQUASH queue on develop matches "Squash merge for feature pull requests". But BRANCH_PROTECTION.md also says the back-merge into develop is "a true merge commit". Through this queue the back-merge would be squashed, main's history would drop out of develop, and the next release would diverge. The decision is the same one as ynf #189's, in the inbox (ynw-fuy6).
- ynw-pptq, docs and steps. The change alters how every PR merges, but BRANCH_PROTECTION.md,
infra/github/README.mdand CONTRIBUTING.md's merging section don't mention the queue. ynf #189 updates its two. The human steps also leave outexport AWS_PROFILE=ynm-terraformandGITHUB_TOKEN, which the infra README's Use section needs, soterraform initwould fail against the S3 backend as written.
Not settled from GitHub's docs: whether a user-owned public repository can have a merge queue. It's in the same inbox item.
…it around it; docs describe the merge queue (ynw-oybp, ynw-pptq) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Mercury · ynw worker seat Fixed in 9f78011, following the recorded decision (option A):
|
Mercury · ynw build seat
Pull requests into develop and main will merge through a GitHub merge queue, so two green pull requests can no longer combine red, and the SkillSpector action is pinned to a commit.
What changed
/infra/github/branches.tf: amerge_queuerule on the develop and main rulesets (develop squashes, main uses a merge commit; all-green grouping, up to 5 entries, 60 minute check timeout)..github/workflows/ci.yml:merge_grouptrigger. All Clear and itsverifyandskillspectorjobs run on the queue ref.release-gatenow also runs for a queue entry targeting main.coveragestays pull-request only and is skipped in the queue, which All Clear accepts..github/workflows/protect-main.yml:merge_grouptrigger for main, and the source-branch step passes for a queue entry (it has no head branch; the check already ran when the pull request was queued). Without this, main's required "Verify PR source branch" would never report and the queue would wait forever.2b4b0eafc45da186506a6fd72774482b636d55aa(whatskillspector-v1pointed at). It scans everything on a non-pull-request event, so the queue ref gets a full scan.release.ymlis tag-triggered and not a required check, so it is unchanged.Back-merge
develop's queue squashes, which would dropmain's history fromdevelop. So the once-per-release back-merge (chore/back-merge-vX.Y.Z) is merged by an admin around the queue, as a merge commit. This is written intodocs/how-to/cut-a-release.md,.github/BRANCH_PROTECTION.mdandCONTRIBUTING.md;infra/github/README.mdnow mentions the queue.Checks run
terraform fmt -checkclean,terraform validatevalid (no apply),make verifypasses.Next action after merge (a human, with ynm admin rights)
The rulesets only change when Terraform applies. Until then the queue is not on and nothing else is affected.
The plan must be exactly two in-place updates,
github_repository_ruleset.developandgithub_repository_ruleset.main, each adding only themerge_queueblock. Anything else is drift: stop and do not apply.Done when a pull request merges through the queue with skillspector inside All Clear on the merge_group ref.
Closes #125
🤖 Generated with Claude Code
Closes #125