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`.
This commit is contained in:
Patrick Schratz 2026-06-16 11:21:00 +02:00
commit 4835fa0472
Signed by: pat-s
GPG key ID: 3C6318841EF78925
2 changed files with 55 additions and 10 deletions

View file

@ -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

View file

@ -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