refactor(ci): consolidate per-platform crow workflows into 3 matrix files #92
Loading…
Reference in a new issue
No description provided.
Delete branch "refactor/consolidate-process-updates"
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
Collapse 44 per-platform crow pipeline files into 3 matrix-driven files (one per family), using
matrix.include+ the crow #1165 declarative manualvariables:block:process-updates.yamlweekly-audit-missing.yamlweekly-rebuild-missing.yamlartemis=amd64,gaia=arm64) for process-updates and weekly-rebuild; weekly-audit keeps its arch-nodeSelectorplacement (no agent label).OS(e.g.redhat-9) per request, with per-rowR_VERSION, image tag, codename, andprocess_new(FALSE for alpine).<family>-<os>-<arch>cron still fires only its matching matrix row viaCI_PIPELINE_CRON. Server-side cron entries unchanged.process_cran_updates/weekly_audit_missing/weekly_rebuild_missing) selects a single<os>-<arch>orall. weekly-rebuild defaults toall, matching its former bareevent: manualtrigger.Behavior deltas (intentional, flagged)
To fit one file per family the backend was unified:
node.kubernetes.io/instance-type: AX42nodeSelector pin is dropped; placement now relies on theartemis/gaiaagents.backend_optionsas amd64 (resource requests/limits + tolerations) — they previously had none, so they gain an 18Gi memory limit. Tell me if arm64 should stay uncapped.Validation required before merge
Relies on crow interpolating matrix variables inside
when.evaluate,labels.agent, andcommands. Interpolation in image/env/commands is standard crow; the novel bit iswhen.evaluate. The manual dropdown routing exercises the same interpolation as the cron routing, so on this branch:redhat-9-amd64-> confirm only that one job runs (imagebuild-env-redhat:9, R 4.4.3, agent artemis).all-> confirm all os/arch jobs schedule.Crons only fire on the default branch, so no collision while unmerged. Fallback if
${...}doesn't interpolate inwhen: a runtimecase "$CI_PIPELINE_CRON" in ...guard, same files otherwise.866957bdd5toed9442476fed9442476ftod3bf7bc3a8refactor(ci): consolidate process-updates workflows into 2 matrix filesto refactor(ci): consolidate per-platform crow workflows into 3 matrix filesMatch the build-all cleanup: only the docker backend is used and arch placement is via the agent label, so the kubernetes backend_options blocks (with arch nodeSelector and tolerations) are dead. Convert them to docker resource blocks. weekly-audit had no agent label (it relied on the nodeSelector), so add agent: ${AGENT} with an AGENT column (artemis=amd64, gaia=arm64) per matrix row.