fix(ci): run publish-crates on the dev runner image (VA-145) #157
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/VA-145-publish-crates-dev-runner"
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?
Problem
Run #661 (
publish-crates.yml, tagv0.4.2) failed atcargo publishwitherror: linker `cc` not found.cargo publishcompiles the packaged tarball on the runner host during its verify stage, but the job ran onRUNS_ON_OPENSUSE_BASE_LATEST, which shipscargo/rustcand no C toolchain. Every build-script crate (proc-macro2, quote, serde, serde_json, thiserror, zmij) failed to link, the loop died on crate 1 of 2, and tagv0.4.2published zero crates.Fix
Moved the job to
RUNS_ON_OPENSUSE_DEV_LATEST.opensuse-devisFROM base AS devand itsdev-extraspackage set addsgcc,clang, andlibopenssl-devel, so nushell and the rest of the base tooling carry over unchanged. This is the rulegovernance/CI.mdalready states: a job that compiles on the runner host goes on the dev label, everything else (including compiles inside a container) stays on base.Replaced the job's
Verify Docker availabilitystep with aVerify build toolchainpreflight forcargoandcc. The job compiles on the runner and never touches Docker, so the old step proved nothing while the real prerequisite went unchecked until minutes into a dependency compile. The new step fails in about a second and names the label to check.Annotated every
runs-onin the repo with the reason its label is correct, pergovernance/CI.md: an unannotated base label is indistinguishable from an unaudited one, and this defect hides behind a warmSwatinem/rust-cacherestore, so a green history is not evidence the label is right.Audit of the other six jobs
publish-crates.ymlpublishcargo publishverify, on the runnercheck.ymlcheckcheck.Dockerfilebuild-package.ymlbuild-and-uploadrelease.Dockerfilebuild-windows.ymlbuild-and-uploadrelease-windows.Dockerfileandrelease.Dockerfilecreate-release.ymlcreate-releasebuild-macos.ymlbuild-and-uploadcheck-macos-features.ymlcheckOnly
publish-crates.ymlwas on the wrong label.Verification
The preflight snippet was run against the installed nushell 0.112.2 and exits 0 with
cargo 1.94.1/cc (SUSE Linux) 15.3.0; all seven workflow files parse as valid YAML.just pre-commitpassed via the git hook.Follow-up (not part of this PR)
v0.4.2still has no crates in the registry. After this merges, republish the existing tag without recreating it:fj --host dev.a8n.run actions dispatch publish-crates.yml main --input ref=v0.4.2.#VA-145