fix(ci): gate the Built-stamp repair on its own variable

The pipeline gated on `target_arch`, which is the same variable
build-all-versions and build-all-versions-install-deps gate on. A manual run
passing `target_arch=arm64` to reach the repair therefore also matched both of
those and started a full arm64 rebuild alongside it.

Every other pipeline here gates on a variable named after itself
(`process_cran_updates`, `weekly_audit_missing`, `weekly_rebuild_missing`), so
follow that and gate on `repair_built_stamp`. Record the collision and the exact
invocation in the header so the next pipeline added here does not repeat it.
This commit is contained in:
Patrick Schratz 2026-08-07 09:38:52 +00:00
commit 283476ed1a
No known key found for this signature in database
GPG key ID: 62050D5BC68AB6DC

View file

@ -9,9 +9,18 @@
# Run with `dry_run: true` first: it reports how many entries are broken per
# slot and changes nothing. Pick the R version the slot should advertise, which
# is the R_VERSION its entry in .crow/process-updates.yaml uses.
#
# The gate variable is `repair_built_stamp`, not `target_arch`: `target_arch` is
# what build-all-versions and build-all-versions-install-deps gate on, so a
# manual run passing it would start a full rebuild alongside this repair. Every
# pipeline here gates on a variable named after itself for exactly that reason.
#
# crow pipeline create --branch main \
# --var repair_built_stamp=arm64 --var OS=alpine --var OS_VERSION=3.22 \
# --var R_VERSION=4.5.3 --var dry_run=true devxy/build-cran-binaries
variables:
target_arch:
description: 'Architecture of the slot to repair.'
repair_built_stamp:
description: 'Architecture of the slot to repair. Also gates this pipeline.'
options:
- amd64
- arm64
@ -51,7 +60,7 @@ variables:
when:
- event: manual
evaluate: 'target_arch == "${ARCH}"'
evaluate: 'repair_built_stamp == "${ARCH}"'
skip_clone: true