Repository navigation
ci: keep label bursts from hiding the required checks - #30
Conversation
CI and Workflow audit no longer run on `labeled`: neither reads a label, and a label run cancelled before any job started left Test or Audit workflows unreported. Release keeps `labeled` for `preview`: each label run gets a concurrency group of its own, a label run publishes only when it adds `preview` to a branch other than feat/fix, and Publish preview queues in a job-level group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018BeR126oZ3YaySwFkXbN23
A PR created with `preview` gets `opened` and `labeled preview`; when the opened payload already lists the label, both runs published the same commit and the second failed. `opened` now leaves `preview` to the label run. Shorter workflow comments, and the docs write branch prefixes as contributing.md does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018BeR126oZ3YaySwFkXbN23
Same truth table: a feat/fix push publishes, a label run when it adds `preview` to another branch, and a synchronize or reopened run when the PR has `preview`. The docs sentence drops the concurrency detail. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018BeR126oZ3YaySwFkXbN23
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
Reviewed the full diff against main. Label bursts can no longer cancel the required checks, and a preview still publishes once per commit.
- Required checks ignore labels. CI and Workflow audit no longer run on
labeled, so a label burst cannot cancel the latestTestorAudit workflowsrun before its jobs start. Those are the two checks the ruleset requires. - Release still runs on
labeled. A label run gets its own concurrency group, so the run that addspreviewis not cancelled by the rest of the burst. Push runs still share a ref group and cancel in progress. - Preview publishes once per commit.
feat/fixstill publish on open, sync, and reopen. Other branches publish from thelabeledrun that addspreview, and again on a later sync or reopen while that label is present. The preview job queues on the PR ref and is not cancelled mid-publish. - Docs match the trigger. A label runs neither required workflow. Only Release does, and it publishes only when the added label is
previewon a non-feat/fixbranch.
grok-4.7 | 𝕏

Summary
GitHub reads a required check from the latest run of its workflow on the head commit.
Test(CI) andAudit workflows(Workflow audit) ran onlabeled, in one group per ref withcancel-in-progress, so labels added at once could leave a run cancelled before any job as the latest, and the check never reported (seen on withvariablelab/dx#305). Neither workflow reads a label, so they stop running on one. Release keepslabeledforpreviewand takes withvariablelab/dx#306 fix.Test. The preview stays inrelease.yml, the workflow npm's trusted publisher names.previewto a branch other than feat/fix. Before, any label added to a feat/fix PR, or to one withpreview, republished the same commit, which fails:<version>-git-<sha7>.0already exists.openedleavespreviewto its ownlabeledrun, so a PR created withpreviewpublishes once, not from both. dx's condition lacks this guard.docs/development.md§ CI says a label runs neither CI nor the audit.Evidence
Before: chore: regenerate CLI docs dx#305: the run created last (42058729129) was cancelled with no jobs,
Testshowed "Expected — Waiting for status to be reported" and the PR stayedBLOCKEDuntil a manual rerun.After:
gh pr edit --add-label dependencies --add-label javascripton this PR, twice (labels removed in between, which started no run), after the first checks finished on d105230. No rerun:Test,Audit workflowsmergeStateStatusifCLEANifCLEANEach burst's two Release runs were created in the same second and neither was cancelled: each had a group of its own.
The preview
if, parsed fromrelease.ymland evaluated with GitHub's expression engine (@actions/expressions0.3.61) over mock payloads:mainfeat/xci/xci/xpreviewlabeledrun toolabeledrun publishespreviewci/xpreviewfix/xci/xpreviewci/xpreviewpreviewfeat/xpreviewdependenciesci/xpreview,dependenciesdependenciesfeat/xdependenciesjavascriptci/label-runsdependencies,javascriptdependabot/npm_and_yarn/xdependencies,javascriptThe flattened condition in d105230 matches a0d9f81's over all 175 combinations of event, branch, labels and added label.
actionlint 1.7.12 and zizmor 1.31.1 (online audits): no findings.
rr check,pnpm test(25 passed),rr packand gitleaks pass locally.Merge Danger
Door: two-way
Blast Radius: CI
gh run rerun.previewon an older commit: both publish, in turn, andpr-<number>ends on the push's commit.ci/and the repo has nopreviewlabel yet. The table covers the publish paths.🤖 Generated with Claude Code
https://claude.ai/code/session_018BeR126oZ3YaySwFkXbN23