Match 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.
Replace 44 per-platform pipeline files with one matrix-driven file per family:
- process-updates-<os>-<arch>.yaml (14) -> process-updates.yaml
- weekly-audit-missing-<os>-<arch>.yaml (16) -> weekly-audit-missing.yaml
- weekly-rebuild-missing-<os>-<arch>.yaml (14)-> weekly-rebuild-missing.yaml
Each file carries one matrix.include row per os/arch (the axis is named OS,
e.g. redhat-9). Runs are preserved 1:1:
- cron: every existing per-os/arch cron still fires only its matching row,
routed via CI_PIPELINE_CRON. Server-side cron entries are unchanged.
- manual: a crow #1165 dropdown variable selects a single <os>-<arch> or
"all". weekly-rebuild defaults to "all" to match its former bare manual
trigger.
Arch placement uses the agent label as a matrix var (artemis=amd64, gaia=arm64)
for process-updates and weekly-rebuild; weekly-audit keeps arch-nodeSelector
placement. The amd64-only nodeSelector instance-type (AX42) pin is dropped in
favour of agent-based placement, and process-updates arm64 jobs now share the
same backend_options as amd64 (they previously had none).