From 283476ed1a8acd0614c666ab7b04046178585187 Mon Sep 17 00:00:00 2001 From: pat-s Date: Fri, 7 Aug 2026 09:38:52 +0000 Subject: [PATCH] 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. --- .crow/repair-built-stamp.yaml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.crow/repair-built-stamp.yaml b/.crow/repair-built-stamp.yaml index 12e2644..83821e9 100644 --- a/.crow/repair-built-stamp.yaml +++ b/.crow/repair-built-stamp.yaml @@ -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 -- 2.54.0