Prep CI for enablement: green gate, fleet labels, unified MSRV #45
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci-enable"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Three prerequisites so that turning Actions on lands on a green, dispatchable
main— not a wall of failures on day one. Requested together with the "enable Actions" decision.1. Clear the
no-vanity-metricsfailures (red on main already)The gate has been failing on
mainindependent of any feature work — so the very first thing Actions would report is a red that predates this branch. Three hits:jouledesk/README.md— "8 tests", a genuine codebase-count. Removed; the sentence stands without it.jcp-efficiency/MAPPING.md×2 — false positives: the scanner's regex reads "509 adapter" out of "X.509 adapter" as a count. X.509 is the ITU-T certificate standard's name, so these get the scanner's own<!-- allow-vanity: … -->opt-out, which is exactly its purpose.Scanner now exits 0 across every Markdown file.
2. Point the workflows at the fleet's runner labels
Every workflow was authored for GitHub-hosted images —
ubuntu-latest,macos-latest,macos-13,windows-latest,ubuntu-24.04-arm. This fleet's Forgejo runners register different labels (linux,linux-arm64,macos,windows), confirmed against the live runner registry. As written, enabling Actions would queue every job against a label no runner answers, and they would hang indefinitely rather than fail.ubuntu-latest/ubuntu-24.04-arm→linux/linux-arm64macos-latest→macos,windows-latest→windowsmacos-13(Intel Mac) dropped — the fleet has no Intel-Mac runner, and by the matrices' own comments it adds no arch coverage (x86_64 held by linux+windows, arm64 by linux-arm64 + the macos reference).hostexecutor whose PATH omits~/.cargo/bin;wai-conformancecallsrustupraw, so it now prepends~/.cargo/binto$GITHUB_PATHfirst (harmless where cargo is already on PATH).10 jobs across 7 workflows now resolve to fleet labels. This makes them dispatchable — the per-job conformance logic (ONNX fixtures, cross-arch byte goldens) is what the first real runs will actually exercise.
3. Raise the MSRV floor to 1.97
The declared
rust-versionhad drifted into three tiers — 1.85, 1.96, one 1.96.0 — none of them the compiler the code is pinned against (1.97.1). Unified to 1.97 across 26 manifests, so the floor states the oldest compiler these standards are actually verified on. This is the deliberate MSRV bump that the toolchain PR (#38) explicitly left out as a separate support-policy decision; done here on request.sandbox-rs(was 1.85) andeoc-rs(was 1.96) build + test clean under the pin. The floor is declarative; the 1.97.1 toolchain pin already governs what actually compiles.After merge
Enabling Actions (
has_actions: true) is the follow-on step, done once this is onmainso Actions' first sight of the repo is already-fixed. I have verified the structural prerequisites — labels resolve, the gate is green, YAML is well-formed — but not run the conformance jobs themselves (they need ONNX runtime and cross-arch runners). Surfacing any per-job issues is what the first CI runs are for.🤖 Generated with Claude Code
Every workflow was written for GitHub-hosted runners (ubuntu-latest, macos-latest, macos-13, windows-latest, ubuntu-24.04-arm). This fleet's Forgejo runners register different labels — `linux`, `linux-arm64`, `macos`, `windows` — so as written, enabling Actions would queue every job against a label no runner answers, and they would hang forever. Mapping applied: ubuntu-latest / ubuntu-24.04-arm -> linux / linux-arm64 macos-latest -> macos windows-latest -> windows macos-13 (Intel Mac) -> dropped: the fleet has no Intel-Mac runner, and by the matrices' own stated logic it adds no arch coverage (x86_64 is held by linux + windows, arm64 by linux-arm64 + the macos reference). Also: the macOS runner is a `host` executor launched from launchd, whose PATH omits ~/.cargo/bin, so a raw `rustup` call is not found. wai-conformance uses raw rustup across the matrix, so it now prepends ~/.cargo/bin to $GITHUB_PATH first — a no-op on the platforms where cargo is already found. All 10 jobs across 7 workflows parse and resolve to fleet labels. Note: this makes the workflows *dispatchable*; the per-job conformance logic (ONNX fixtures, cross-arch byte goldens) is what the first real runs verify. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>