refactor(ci): consolidate build-all-versions workflows into 2 files #93
Loading…
Reference in a new issue
No description provided.
Delete branch "refactor/consolidate-build-all"
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
Consolidate the four
build-all-versions*files into two, mirroring the matrix approach used for the process-updates / weekly families:build-all-versions-amd64.yaml+build-all-versions-arm64.yamlbuild-all-versions.yamlbuild-all-versions-install-deps-amd64.yaml+-arm64.yamlbuild-all-versions-install-deps.yamlARCHbecomes a matrix axis carrying the per-arch differences:agent(artemis/gaia),BACKEND(kubernetes/docker), andR_PKG_CACHE_DIR. Build-all keeps itsSPLIT_INDEXparallelism, so its matrix is ARCH x SPLIT = 8 rows; only the rows matching the selected arch run.Invocation unchanged. Routing uses the existing task selector
task == "build-all-${ARCH}", so--var task=build-all-amd64 ...still runs exactly the amd64 rows.OS/OS_VERSION/R_VERSION/K8S_INSTANCE_TYPEare still passed via--var. (You can drop--var ARCH=...now — arch comes from the matrix/task.)No cron. These pipelines are manual-only, so there are no scheduled runs to affect.
Validation before merge
Same matrix-interpolation-in-
when/labelsmechanism validated for #92, plus it now relies on per-rowagent/BACKENDselecting the right execution backend (kubernetes for amd64, docker for arm64). Before merge, on this branch trigger a smalltask=build-all-arm64run and confirm it lands on the gaia/docker backend (and amd64 on artemis/kubernetes). Originals are in git history for rollback.Note:
archive-missed-packages.yamlwas already a single consolidated matrix file (cron + manual) and is left untouched.Merge the per-arch build-all and install-deps files into one each: build-all-versions-{amd64,arm64}.yaml -> build-all-versions.yaml build-all-versions-install-deps-{amd64,arch}.yaml -> build-all-versions-install-deps.yaml Arch becomes a matrix axis carrying the per-arch agent (artemis/gaia), BACKEND (kubernetes/docker) and R_PKG_CACHE_DIR. Routing is unchanged: the existing `task == "build-all-${ARCH}"` selector means `--var task=build-all-amd64` still runs only the amd64 rows. OS / OS_VERSION / R_VERSION / K8S_INSTANCE_TYPE are still passed via --var. These pipelines are manual-only (no cron).