feat(ci): OS/OS_VERSION manual dropdowns + restore lost crow fix #97

Merged
pat-s merged 2 commits from ci/os-version-dropdowns into main 2026-06-18 11:39:12 +00:00
Owner

Summary

Two changes:

  1. OS/OS_VERSION manual-run dropdowns — give these form variables explicit options: lists (like target_arch and R_VERSION), so the manual-run form shows dropdowns instead of free-text, in both build-all-versions.yaml and build-all-versions-install-deps.yaml. Crow form variables are independent (no cascading), so the operator still has to pick a coherent OS + OS_VERSION combination (e.g. redhat + 9, not alpine + jammy).

  2. Repairs main — the crow fix from PR #96 (bc2f6f1) was lost when that PR was squashed (only the first commit was captured). As a result main currently carries the OS: ${OS} env vars that break Crow parsing (unable to parse variable name) and the unfixed build-all.R. This PR re-applies that fix: drop the env additions and derive platform/arch inside build-all.R from the container (bincraft codename → platform mapping + Sys.info() arch).

Notes

  • OS_VERSION options are quoted strings so tags like 8/9/10 aren't parsed as integers.
  • Validated: both YAMLs parse, build-all.R parses.
## Summary Two changes: 1. **`OS`/`OS_VERSION` manual-run dropdowns** — give these form variables explicit `options:` lists (like `target_arch` and `R_VERSION`), so the manual-run form shows dropdowns instead of free-text, in both `build-all-versions.yaml` and `build-all-versions-install-deps.yaml`. Crow form variables are independent (no cascading), so the operator still has to pick a coherent `OS` + `OS_VERSION` combination (e.g. `redhat` + `9`, not `alpine` + `jammy`). 2. **Repairs `main`** — the crow fix from PR #96 (`bc2f6f1`) was lost when that PR was squashed (only the first commit was captured). As a result `main` currently carries the `OS: ${OS}` env vars that break Crow parsing (`unable to parse variable name`) and the unfixed `build-all.R`. This PR re-applies that fix: drop the env additions and derive `platform`/`arch` inside `build-all.R` from the container (bincraft codename → platform mapping + `Sys.info()` arch). ## Notes - `OS_VERSION` options are quoted strings so tags like `8`/`9`/`10` aren't parsed as integers. - Validated: both YAMLs parse, `build-all.R` parses.
Give the OS and OS_VERSION form variables explicit option lists like
target_arch and R_VERSION already have, so the manual-run form presents
dropdowns instead of free-text. Crow form variables are independent, so the
operator must still pick a coherent OS + OS_VERSION combination.
Crow cannot interpolate the workflow-level OS/OS_VERSION form variables inside
an environment: block (only matrix variables work there), so exporting them
broke pipeline parsing with "unable to parse variable name".

Instead, derive platform + arch inside build-all.R from the running container,
mirroring bincraft's own codename -> platform mapping and machine -> arch
detection. This keeps the already-built dedup pre-filter effective without
depending on CI-injected env vars, and degrades to a length-1 NA (querying
nothing) for an unmapped codename rather than crashing.
pat-s merged commit 83c761b736 into main 2026-06-18 11:39:12 +00:00
pat-s deleted branch ci/os-version-dropdowns 2026-06-18 11:39:13 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
devxy/build-cran-binaries!97
No description provided.