Repository navigation
Report ci-ok on every PR run; run Windows-on-label separately - #31
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cause
GitHub judges a required check by the latest run of its workflow on the head commit.
ci.ymlalso listened tolabeled, and itscijob was skipped for any label other thanwindows. A PR created withrelease:patchgets anopenedrun and, seconds later, alabeledrun. When thelabeledrun is the latest, it reports noci / ci-ok: the required check shows "Expected — Waiting for status to be reported" and the PR stays BLOCKED with every check green. Whether it happens depends on the order the events arrive in.Example: Myrras/Podium#143 (also Myrras/Selene#89, Myrras/Argus#25, all on
v2= 9adbdae). Myrras/Iris#27 is clean only because its events arrived in the right order.Design
ci.ymltriggers onpushto main andpull_requestopened/synchronize/reopened. No label events and noif:on thecijob, so every run reportsci / ci-ok. Concurrency: one group per ref, cancel only onsynchronize.ci-windows.yml(new, synced to the apps) triggers onpull_requestopened/synchronize/reopened/labeled. Awindows labeljob starts only when the event sayswindows(the label just added, or a commit event whose payload has it); other labels skip it without a runner. It waits 10 s and confirms the label viagh pr view --json labels, then calls the CI workflow withonly: windows. Checks areci-windows / ...and are not required. Concurrency as in Stop label events from leaving cancelled required checks #30: commit runs share a group and cancel onsynchronize; every label run has its own group, so nothing on the head commit is ever cancelled.reusable-tauri-ci.yml: new inputonly(empty = all jobs;windows= onlyconfig+windows, no frontend/rust/ci-ok).windows: autonow means every event except pull requests: the reusable reads no labels. Input validation moved fromci-okto theconfigjob, soonly: windowsstill validates.ci-oksemantics unchanged: fails on a failed or cancelled needed job, a skippedwindowsis fine.ci-windows.yml(once per commit while labelled, once per label add).ci.ymlruns Windows only on push to main, where it still gates the release.mainstill gates the release.Updated: rust-base's own callers,
sync/files/.github/workflows/(incl. the newci-windows.yml),examples/, README (Windows section, callers, required checks, caller requirements),CLAUDE.mdandsync/CLAUDE.block.md. rust-base's ownci.ymlkeeps having no release job.Rollout
The synced
ci-windows.ymlpassesonly, whichv2doesn't have yet. Movev2to the merge commit before the apps merge their sync PRs. The new reusable is compatible with the old app callers.