From 4835fa0472a2434ccad8291cba5a6a5ee07490e6 Mon Sep 17 00:00:00 2001 From: pat-s Date: Tue, 16 Jun 2026 11:21:00 +0200 Subject: [PATCH] fix(ci): declare manual variables for build-all so the run form is populated The consolidated build-all routed on `task ==`, which crow #1165 filters out of the manual-run form, leaving "no configurable variables". Declare target_arch (routes the matrix) plus OS / OS_VERSION / R_VERSION / K8S_INSTANCE_TYPE as variables, and route on `target_arch == "${ARCH}"` so the form is populated and arch selection works from the UI. CLI callers now pass `--var target_arch=amd64` instead of `--var task=build-all-amd64`. --- .crow/build-all-versions-install-deps.yaml | 31 +++++++++++++++++--- .crow/build-all-versions.yaml | 34 ++++++++++++++++++---- 2 files changed, 55 insertions(+), 10 deletions(-) diff --git a/.crow/build-all-versions-install-deps.yaml b/.crow/build-all-versions-install-deps.yaml index 61e3dea..ee7ec16 100644 --- a/.crow/build-all-versions-install-deps.yaml +++ b/.crow/build-all-versions-install-deps.yaml @@ -1,10 +1,33 @@ # Consolidated install-deps for build-all (both arches in one file). -# Arch is a matrix axis; the existing task selector still routes it: -# task == "build-all-amd64" runs the amd64 row, "build-all-arm64" the arm64 row. -# OS / OS_VERSION / R_VERSION / K8S_INSTANCE_TYPE are still passed via --var. +# Triggered together with build-all-versions; `target_arch` routes the matrix. +# Variables are declared so the manual-run form exposes them (crow #1165); +# they are merged with build-all-versions' identical declarations. +variables: + target_arch: + description: "Architecture to build." + options: + - amd64 + - arm64 + default: amd64 + OS: + description: "Base OS image name (e.g. alpine, redhat, ubuntu)." + default: alpine + OS_VERSION: + description: "OS version / image tag (e.g. 3.24, 9, jammy, noble)." + default: "3.24" + R_VERSION: + description: "Primary R version under /opt/R." + options: + - 4.5.3 + - 4.4.3 + default: 4.5.3 + K8S_INSTANCE_TYPE: + description: "k8s node instance-type (amd64/kubernetes only; ignored for arm64/docker)." + default: AX42 + when: - event: manual - evaluate: 'task == "build-all-${ARCH}"' + evaluate: 'target_arch == "${ARCH}"' skip_clone: true diff --git a/.crow/build-all-versions.yaml b/.crow/build-all-versions.yaml index 36969b2..4912c73 100644 --- a/.crow/build-all-versions.yaml +++ b/.crow/build-all-versions.yaml @@ -1,12 +1,34 @@ -### Required extra vars (passed via --var at manual trigger time) -# OS (alpine) / OS_VERSION (3.22) / R_VERSION (4.5.3) / K8S_INSTANCE_TYPE (amd64) -# Arch is selected by the task name and routed via the matrix: -# crow pipeline create --var task=build-all-amd64 --var OS=alpine --var OS_VERSION=3.24 --var R_VERSION=4.5.3 --var K8S_INSTANCE_TYPE=... --branch=main 5 -# crow pipeline create --var task=build-all-arm64 --var OS=alpine --var OS_VERSION=3.24 --var R_VERSION=4.5.3 --branch=main 5 +### Manual full rebuild of all CRAN binaries for one OS/arch. +# Set the variables below in the manual-run form (or via --var on the CLI). +# `target_arch` routes the matrix; OS/OS_VERSION/R_VERSION/K8S_INSTANCE_TYPE +# select the platform image, cache volume and node. # Skip list lives in local/excluded-packages.json (read by local/build-all.R). +variables: + target_arch: + description: "Architecture to build." + options: + - amd64 + - arm64 + default: amd64 + OS: + description: "Base OS image name (e.g. alpine, redhat, ubuntu)." + default: alpine + OS_VERSION: + description: "OS version / image tag (e.g. 3.24, 9, jammy, noble)." + default: "3.24" + R_VERSION: + description: "Primary R version under /opt/R." + options: + - 4.5.3 + - 4.4.3 + default: 4.5.3 + K8S_INSTANCE_TYPE: + description: "k8s node instance-type (amd64/kubernetes only; ignored for arm64/docker)." + default: AX42 + when: - event: manual - evaluate: 'task == "build-all-${ARCH}"' + evaluate: 'target_arch == "${ARCH}"' skip_clone: true