fix(ci): make build-all self-sufficient on agents without install-deps #96
Loading…
Reference in a new issue
No description provided.
Delete branch "t3code/03edfe2f"
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?
Summary
Fixes the recurring
build-all-*failure on agents wherebuild-all-versions-install-depsdid not run.Both symptoms in the logs —
Parameter 3 does not have length 1(repeated, in the metadata DB queries) andargument is of length zero(system-dependency install) — were the same bug: inside bincraft,platformwas zero-length.local/build-all.Rcallsbuild_binary_package()without passingplatform, so bincraft resolves it from the container codename. The primary build step never (re)installed/pinned bincraft and relied on whatever sat in the per-agent cache volume;depends_ononly orders steps, it does not co-locate them on the same agent, so a job landing where install-deps never ran got a stale bincraft that leftplatformempty.Changes
build-all-versions.yaml: pin bincraft@v4.2.3in the primary build step (mirroring the R-minor pass andprocess-updates.yaml), so every agent uses a known-good bincraft regardless of where install-deps ran.v4.2.2 → v4.2.3.OS/OS_VERSION/ARCHas runtime env vars — previously only available for${...}interpolation, sobuild-all.R's already-built dedup query matched platform"-"and skipped nothing.bincraft::set_codename(NULL)instead of the malformedpaste(OS, OS_VERSION)("alpine 3.24"), matchingarchive-missed-packages.yaml.build-all-versions-install-deps.yaml: pin install-deps to@v4.2.3(was installing HEAD), so the precomputed snapshot and per-agent library stay consistent pipeline-wide.The primary build-all pass relied on build-all-versions-install-deps having populated the per-agent cache volume, but depends_on only orders the steps and does not co-locate them on one agent. A job landing on an agent where install-deps never ran used a stale bincraft that resolves `platform` to a zero-length value, breaking every metadata query ("Parameter 3 does not have length 1") and the system-dependency install ("argument is of length zero"). - Pin bincraft @v4.2.3 in the primary build step, mirroring the R-minor pass. - Align the R-minor pass and install-deps to @v4.2.3 so the whole pipeline uses one version (install-deps previously installed HEAD). - Export OS/OS_VERSION/ARCH as runtime env vars so build-all.R's already-built dedup query targets the real platform instead of "-". - Derive the unarchive codename via bincraft::set_codename(NULL) instead of the malformed paste(OS, OS_VERSION).