Commit graph build-cran-binaries/.crow/archive-missed-packages.yaml
Author SHA1 Message Date
1ad7a6bfe9 chore: resolve latest bincraft release dynamically (no hardcoded pins) (#107)
Some checks failed
ci/crow/cron/process-updates/13 Pipeline was successful
ci/crow/cron/process-updates/15 Pipeline was successful
ci/crow/cron/process-updates/10 Pipeline was successful
ci/crow/cron/process-updates/4 Pipeline was successful
ci/crow/cron/process-updates/16 Pipeline was successful
ci/crow/cron/process-updates/14 Pipeline was successful
ci/crow/cron/process-updates/11 Pipeline was successful
ci/crow/cron/process-updates/12 Pipeline was successful
ci/crow/cron/process-updates/17 Pipeline was successful
ci/crow/cron/process-updates/18 Pipeline was successful
ci/crow/cron/process-updates/6 Pipeline was successful
ci/crow/cron/process-updates/5 Pipeline was successful
ci/crow/cron/process-updates/1 Pipeline was successful
ci/crow/cron/process-updates/2 Pipeline was successful
ci/crow/cron/process-updates/3 Pipeline failed
ci/crow/cron/process-updates/9 Pipeline failed
ci/crow/cron/process-updates/7 Pipeline failed
ci/crow/cron/process-updates/8 Pipeline failed
ci/crow/manual/build-all-versions-install-deps/2 Pipeline was successful
ci/crow/manual/build-all-versions/5 Pipeline failed
ci/crow/manual/build-all-versions/7 Pipeline failed
ci/crow/manual/build-all-versions/6 Pipeline failed
ci/crow/manual/build-all-versions/8 Pipeline was canceled
## Summary

Stop hardcoding the bincraft version. Every `.crow` workflow and the build-one image pinned `@vX.Y.Z` (and a `packageVersion() != "X.Y.Z"` guard), so each bincraft release meant editing the version in ~8 places — and it was easy to miss one (the Dockerfile lagged at v4.2.1; v4.4.1 shipped without the empty-env fix because of exactly this churn).

## Change

New `local/install-bincraft.R` resolves the **latest release tag dynamically**:

- `git ls-remote --tags` on the public repo (no token),
- keep `vX.Y.Z` tags, pick the highest version (filtered/sorted in R for portability, not via git `--sort`/refspec which behaved inconsistently under `system2()`),
- `pak::pak("git::…@<latest>")` — idempotent on the git ref, so re-runs keep the package unless a newer tag exists.

All call sites now invoke the helper instead of a pinned version:

- `.crow/build-all-versions.yaml` (primary + per-minor pass)
- `.crow/build-all-versions-install-deps.yaml`
- `.crow/process-updates.yaml` (primary + per-minor pass)
- `.crow/weekly-rebuild-missing.yaml`
- `.crow/archive-missed-packages.yaml`
- `docker/build-one.Dockerfile` (ships the helper into the image; `ensure_bincraft` sources it)

## Effect

Tag a new bincraft release → the next CI run / `just rebuild` picks it up automatically. No more pin edits, and no more "forgot to bump the Dockerfile" drift.

## Verified

- Resolver returns the current latest tag (`v4.4.2`) via `git ls-remote` + R-side version sort.
- All five workflow YAMLs parse; helper R parses; air/editorconfig clean.

Note: this tracks the latest **tag**, so cutting a release is still the deliberate gate — CI won't pick up un-tagged main.
Reviewed-on: #107
2026-07-01 08:10:02 +00:00
b4ec6291a9
chore: bump bincraft to 4.4.2
All checks were successful
ci/crow/cron/weekly-audit-missing/15 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing/13 Pipeline was successful
ci/crow/cron/weekly-audit-missing/5 Pipeline was successful
ci/crow/cron/process-updates/10 Pipeline was successful
ci/crow/cron/process-updates/4 Pipeline was successful
ci/crow/cron/process-updates/13 Pipeline was successful
ci/crow/cron/process-updates/15 Pipeline was successful
ci/crow/cron/process-updates/14 Pipeline was successful
ci/crow/cron/process-updates/16 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing/3 Pipeline was successful
ci/crow/cron/process-updates/11 Pipeline was successful
ci/crow/cron/process-updates/5 Pipeline was successful
ci/crow/cron/process-updates/17 Pipeline was successful
ci/crow/cron/process-updates/18 Pipeline was successful
ci/crow/cron/process-updates/12 Pipeline was successful
ci/crow/cron/process-updates/6 Pipeline was successful
ci/crow/cron/process-updates/1 Pipeline was successful
ci/crow/cron/process-updates/2 Pipeline was successful
ci/crow/cron/process-updates/7 Pipeline was successful
ci/crow/cron/process-updates/8 Pipeline was successful
ci/crow/cron/process-updates/9 Pipeline was successful
ci/crow/cron/process-updates/3 Pipeline was successful
2026-06-30 16:09:44 +02:00
d496029a79
chore: bump bincraft to 4.4.1
All checks were successful
ci/crow/cron/process-updates/7 Pipeline was successful
2026-06-30 15:51:07 +02:00
00db47398d
chore: 4.4.0 instead of 4.3.1
All checks were successful
ci/crow/cron/process-updates/6 Pipeline was successful
2026-06-30 14:07:22 +02:00
55a18fd87d feat: patch registry + wiring for per-package patching (#103)
Some checks failed
ci/crow/cron/process-updates/15 Pipeline failed
ci/crow/cron/process-updates/14 Pipeline failed
ci/crow/cron/process-updates/16 Pipeline failed
ci/crow/cron/process-updates/18 Pipeline failed
ci/crow/cron/process-updates/11 Pipeline failed
ci/crow/cron/process-updates/12 Pipeline failed
ci/crow/cron/process-updates/17 Pipeline failed
ci/crow/cron/process-updates/6 Pipeline failed
ci/crow/cron/process-updates/5 Pipeline failed
## Summary

Adds the curated **patch registry** and wiring that drives bincraft's new package-patching mechanism (see bincraft PR `feat/package-patching`).
Lets specific packages be patched (env/configure/Makevars overrides or source diffs) before pak installs them — including as transitive dependencies — so compiler-/OS-specific failures like RcppParallel's bundled TBB stop cascading.

## What's included

- `local/patches/registry.json` — initial entry: RcppParallel with `RCPP_PARALLEL_USE_TBB=0` for alpine / ubuntu-2604, plus `local/patches/README.md` schema docs.
- `local/validate-patches.R` — validates schema, referenced patch files, and ambiguous overlaps; clean failure + exit 1 (no stacktrace).
- `.pre-commit-config.yaml` — a `validate-patches` hook (re-runs when the registry or the validator changes).
- `local/build-one.R` / `local/build-all.R` — pass `patches = "local/patches"` to `bincraft::build_binary_package()`.
- `specs/2026-06-30-package-patching-design.md` and `plans/2026-06-30-package-patching-implementation.md`.

## ⚠️ Merge ordering (blocker)

This PR adds a `patches = ...` argument to `build_binary_package()` calls.
The `.crow/*.yaml` workflows currently pin bincraft **v4.2.3**, which does not accept that argument — CI will error with `unused argument (patches=...)` until:

1. bincraft **v4.3.0** is released (PR `feat/package-patching`), and
2. the pin is bumped in `.crow/build-all-versions-install-deps.yaml`, `.crow/build-all-versions.yaml`, and `.crow/process-updates.yaml`.

The `.crow` pin bump will be added to this PR once bincraft v4.3.0 is tagged. Do not merge before then.

Reviewed-on: #103
2026-06-30 08:50:19 +00:00
b46472b59e
fix(ci): pass Backblaze B2 credentials to process_unarchived_pkgs
All checks were successful
ci/crow/cron/process-updates/12 Pipeline was successful
The function defaults to Hetzner S3 with HETZNER_S3_*_K3S env vars that
are not set in these workflows, so paws failed with "No compatible
credentials provided". Pass the B2 endpoint/region/bucket and
B2_S3_* secrets explicitly, matching the other S3 calls. Also use
set_codename(NULL) for the build-all-versions codename so it matches
the S3 repo path.
2026-06-21 10:55:22 +02:00
f9bc72d5ab
chore: bump bincraft to 4.2.3
Some checks failed
ci/crow/manual/build-all-versions-install-deps/1 Pipeline was successful
ci/crow/cron/process-updates/4 Pipeline was successful
ci/crow/manual/build-all-versions/3 Pipeline failed
ci/crow/manual/build-all-versions/4 Pipeline failed
ci/crow/cron/process-updates/6 Pipeline failed
ci/crow/cron/process-updates/8 Pipeline was successful
ci/crow/cron/process-updates/11 Pipeline was successful
ci/crow/cron/process-updates/12 Pipeline was successful
ci/crow/manual/build-all-versions/2 Pipeline failed
ci/crow/manual/build-all-versions/1 Pipeline failed
ci/crow/cron/process-updates/13 Pipeline was successful
ci/crow/cron/process-updates/14 Pipeline was successful
ci/crow/cron/process-updates/9 Pipeline was successful
ci/crow/cron/process-updates/10 Pipeline was successful
2026-06-18 09:43:05 +02:00
1cd86b65e1 feat(build): skip already-built package versions on workflow restart (#91)
All checks were successful
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
## Summary

When a `build-all-*` workflow is restarted, the build job re-reads the static `pkgs_to_build.rds` that the install-deps step produced once, so it cycles over every package an interrupted run already built. This adds a DB-based skip filter so a restart only processes what is genuinely left.

- At job start, `build-all.R` queries the `single_builds` metadata table for `(name, tag)` already built successfully (`error_occurred = FALSE`) on this `platform`/`arch`, and drops those pairs from the chunk before the build loop. It logs how many it skipped.
- One indexed query, one round trip, run before the pak forks — no extra S3 listing and no new Python/s3fs memory pressure (`RPostgres`/`DBI` are already used in the container).
- Errored versions are intentionally **not** skipped, so transient failures still get retried on restart.

## Dependency

Correctness depends on a `error_occurred = FALSE` row meaning the binary is actually published. That guarantee is added in rpkgs/bincraft#56 (success row written only after a confirmed S3 upload). This PR should land together with / after a bincraft release including that fix.

Reviewed-on: #91
2026-06-16 07:27:20 +00:00
f51617018d
ci: bump bincraft to 4.2.1 and scope multi-R loops to versioned R dirs
- Pin bincraft v4.2.0 -> v4.2.1 (per-minor archive.rds/index fix) across the
  process-updates, weekly-rebuild and archive workflows.
- Restrict the per-R-minor build and index loops to /opt/R/[0-9]* so the
  `current` symlink dir is not treated as a distinct minor (avoids double-
  building a minor and writing a bogus contrib/current/ index slot).
2026-06-14 13:02:47 +02:00
d558e27c11 feat: R-minor-sensitive binary builds (full + iterative) (#84)
Some checks failed
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline failed
## Summary

Builds R-minor-sensitive CRAN packages once per installed R minor version (into per-minor S3 slots `…/contrib/<x.y>/`) and everything else once into the generic slot, driven by bincraft 4.2.0's ABI classifier. Both the full and iterative pipelines are covered.

## What's in here

**Detection / precompute**

- `local/r-minor-helpers.R` — pure `classify_from_metadata()` (NeedsCompilation / risky `LinkingTo`) + `parse_build_args()`, with unit tests.
- `local/packages-to-build.R` — adds a per-package `r_minor_sensitive` flag: cheap CRAN-metadata rules first, source download + `bincraft::needs_per_minor_recompile()` only for the ambiguous compiled subset (fail-safe to sensitive). Classified once per package, applied to all versions.

**Full build**

- `local/build-all.R` — passes the per-row `is_r_minor_sensitive` flag; new `--sensitive-only` mode builds just the risky subset.
- `.crow/build-all-versions-{amd64,arm64}.yaml` — install-deps persists the sensitive subset; build step runs a sensitive-only pass under each non-primary `/opt/R/*` minor; new step uploads the generic index plus a per-minor index for each minor.

**Iterative build**

- All 14 `.crow/process-updates-*.yaml` — primary pass uses `r_minor_detection = 'classifier'`; a sensitive-only multi-R pass builds risky updates under each other minor; per-minor index upload added.

**Tooling / housekeeping**

- Pins bincraft `v4.1.1` → `v4.2.0` across all workflows; removes the superseded standalone `build-r-minor-sensitive-packages.yaml`.
- Adds prek/pre-commit hooks (prettier, markdownlint, editorconfig-checker, yamllint, air) and applies them repo-wide; excludes the verbatim GPL `LICENSE.md` and auxiliary shell scripts.
- Design + implementation docs under `docs/superpowers/`.

## Requires before merge

- A `v4.2.0` git tag must be pushed on the bincraft repo (codefloe.com/rpkgs/bincraft) — the workflow install steps pin `@v4.2.0`. The full-build install-deps clones `main`, so it is unaffected.

Reviewed-on: #84
2026-06-14 08:04:40 +00:00
automation-bot
f28ccaf008 chore(deps): update reg.devxy.io/rpkgs/build-env-alpine docker tag to v3.24
Some checks failed
ci/crow/cron/weekly-audit-missing-redhat-9-amd64 Pipeline was successful
ci/crow/cron/weekly-audit-missing-redhat-9-arm64 Pipeline was successful
ci/crow/cron/weekly-audit-missing-redhat-10-amd64 Pipeline was successful
ci/crow/cron/weekly-audit-missing-redhat-10-arm64 Pipeline was successful
ci/crow/cron/weekly-audit-missing-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/weekly-audit-missing-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/weekly-audit-missing-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/weekly-audit-missing-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-8-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-8-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-9-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-9-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-323-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-10-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline failed
ci/crow/cron/weekly-rebuild-missing-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline is running
ci/crow/cron/weekly-rebuild-missing-alpine-323-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-arm64 Pipeline is running
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-10-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-322-arm64 Pipeline failed
ci/crow/cron/weekly-rebuild-missing-alpine-322-amd64 Pipeline was successful
2026-06-14 00:33:22 +00:00
automation-bot
d018f31376 chore(deps): update dependency bincraft to v4.2.0 2026-06-14 00:32:46 +00:00
4425904eeb feat(ci): archive missed packages for redhat-10 and alpine323 (#75)
## Summary

`archive-missed-packages.yaml`'s matrix was last touched when redhat-9 and alpine322 were the newest targets. redhat-10 and alpine323 builds are now wired up across `process-updates-*` and `weekly-rebuild-missing-*` workflows, but the daily archive sweep wasn't catching them — so missed-archive packages on those platforms accumulate untouched.

Adds the 4 missing entries:

- `redhat-10` × `{amd64, arm64}`
- `alpine323` × `{amd64, arm64}`

Reviewed-on: #75
2026-06-08 08:30:38 +00:00
2ba6ab28f7
chore: bump to bincraft 4.1.1
Some checks failed
ci/crow/cron/weekly-audit-missing-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/weekly-audit-missing-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-323-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-323-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-8-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-8-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-9-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-9-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-322-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-322-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-10-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-10-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-10-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-10-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline failed
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline was successful
2026-05-31 09:30:02 +02:00
b1bed68898 refactor(ci): skip bincraft reinstall when image already has it (#72)
Some checks failed
ci/crow/cron/weekly-audit-missing-redhat-8-amd64 Pipeline failed
ci/crow/cron/weekly-audit-missing-redhat-8-arm64 Pipeline failed
ci/crow/cron/weekly-audit-missing-redhat-9-amd64 Pipeline failed
ci/crow/cron/weekly-audit-missing-redhat-9-arm64 Pipeline failed
ci/crow/cron/weekly-audit-missing-redhat-10-amd64 Pipeline failed
ci/crow/cron/weekly-audit-missing-redhat-10-arm64 Pipeline failed
ci/crow/cron/weekly-audit-missing-ubuntu-2204-amd64 Pipeline is running
ci/crow/cron/weekly-audit-missing-ubuntu-2204-arm64 Pipeline failed
ci/crow/cron/weekly-audit-missing-ubuntu-2404-amd64 Pipeline failed
ci/crow/cron/weekly-audit-missing-ubuntu-2404-arm64 Pipeline failed
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-323-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-323-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-8-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-8-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-9-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-10-amd64 Pipeline failed
ci/crow/cron/weekly-rebuild-missing-redhat-9-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-redhat-10-arm64 Pipeline failed
ci/crow/cron/weekly-rebuild-missing-alpine-322-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-alpine-322-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/weekly-rebuild-missing-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline was successful
## Summary

bincraft is baked into the build-env images, but every workflow still unconditionally calls `pak::pak("git::.../bincraft.git")` (~30–60s per job).

Pin bincraft to a specific tag (currently `v4.0.2`) and guard the install on a version check.

```
- /opt/R/$R_VERSION/bin/R -q -e 'if (!requireNamespace("bincraft", quietly = TRUE) || packageVersion("bincraft") != "4.0.2") pak::pak("git::https://codefloe.com/rpkgs/bincraft.git@v4.0.2")'
```

- Image matches the pin → skip install entirely.
- Image is missing bincraft or has a different version → install the pinned tag (covers both broken bakes and intentional version bumps).
- Renovate customManager keeps the pin and the version-check string in sync whenever bincraft cuts a new tag (uses `git-tags` datasource against the bincraft repo).

Touches 43 `.crow` YAMLs + `renovate.json`.

Reviewed-on: #72
2026-05-28 12:37:58 +00:00
8c5362b7ab
refactor: R_VERSION syntax
Some checks failed
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-10-amd64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-10-arm64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-8-amd64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-9-arm64 Pipeline is pending
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline is pending
ci/crow/cron/update-package-index-ubuntu-2204-arm64 Pipeline is pending
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline is pending
ci/crow/cron/update-package-index-ubuntu-2404-arm64 Pipeline is pending
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-322-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-10-amd64 Pipeline failed
ci/crow/cron/process-updates-alpine-323-arm64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-323-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-10-arm64 Pipeline failed
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-323-arm64 Pipeline failed
2026-05-27 22:36:09 +02:00
6faa3772d1 refactor(ci): use multi-R-version images across workflows (#70)
Some checks failed
ci/crow/cron/update-package-index-alpine-322-arm64 Pipeline is pending
ci/crow/cron/update-package-index-alpine-323-amd64 Pipeline is pending
ci/crow/cron/update-package-index-alpine-323-arm64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-10-amd64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-10-arm64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-8-amd64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline is pending
ci/crow/cron/update-package-index-redhat-9-arm64 Pipeline is pending
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline is pending
ci/crow/cron/update-package-index-ubuntu-2204-arm64 Pipeline is pending
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline is pending
ci/crow/cron/update-package-index-ubuntu-2404-arm64 Pipeline is pending
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline failed
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline failed
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline failed
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline failed
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline failed
ci/crow/cron/process-updates-alpine-323-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-10-amd64 Pipeline failed
ci/crow/cron/process-updates-redhat-10-arm64 Pipeline failed
## Summary

- Switches all 64 `.crow/*.yaml` workflows, the `Justfile`, and the commented-out `build-all-versions-install-deps.yaml` template to the new multi-R-version container images.
- Each image tag drops `-${R_VERSION}` (e.g. `build-env-alpine:3.22-4.5` → `build-env-alpine:3.22`); workflows pick an R version by calling `/opt/R/${R_VERSION}/bin/R` explicitly.
- Pattern-1 workflows (hard-coded image tag) gain a single `R_VERSION:` env var per file.
- Pattern-2 workflows (`build-all-versions-*`, matrix-driven) continue to receive `R_VERSION` via `crow pipeline create --var`.

## Platform → R_VERSION mapping

| Platform | Image | R_VERSION |
| --- | --- | --- |
| alpine 3.22 / 3.23 | `build-env-alpine:3.{22,23}` | 4.5.3 |
| ubuntu jammy / noble | `build-env-ubuntu:{jammy,noble}` | 4.4.3 |
| redhat 8 / 9 | `build-env-redhat:{8,9}` | 4.4.3 |
| redhat 10 | `build-env-redhat:10` | 4.5.3 |

The `alpine-321` audit-only workflows fall back to `build-env-alpine:3.23` since no 3.21 image exists in the new scheme; the audits only query S3/CRAN, so the container OS does not affect correctness.

## Bug fixes folded in

1. All six `weekly-audit-missing-alpine-*.yaml` files were pinned to `alpine:3.23-4.5` regardless of platform.
   Now each one points at its own alpine image.
2. All fourteen `update-package-index-*.yaml` files were pinned to `build-env-ubuntu:noble-4.4` (or `noble-4.5` for `redhat-10-amd64`) regardless of platform.
   Now each one uses its own platform's image.
3. `process-updates-ubuntu-2404-{amd64,arm64}.yaml` had `R_VERSION` of `4.4` (no patch) baked into the tag.
   Aligned to `4.4.3`, matching the audit and rebuild counterparts.

## Smoke targets (post-merge)

One workflow per shape, ready to dry-run:

- `process-updates-alpine-322-amd64.yaml`
- `weekly-rebuild-missing-redhat-9-amd64.yaml`
- `weekly-audit-missing-ubuntu-2204-amd64.yaml`
- `update-package-index-redhat-10-amd64.yaml`
- `archive-missed-packages.yaml`
- `build-all-versions-amd64.yaml` (with its install-deps predecessor)
- `build-r-minor-sensitive-packages.yaml`

## Follow-ups (out of scope, surfaced during review)

- `process-updates-redhat-10-{amd64,arm64}.yaml` set `codename = "rhel9"` in their `upload_package_index(...)` calls.
  Pre-existing bug — should be `"rhel10"`. The `update-package-index-redhat-10-*` counterparts already use `"rhel10"` correctly.
- `update-package-index-redhat-8-amd64.yaml` is missing the `packageVersion("bincraft")` diagnostic line that every sibling file has.
  Pre-existing asymmetry between amd64 and arm64.

## Spec & plan

- Spec: `docs/superpowers/specs/2026-05-25-multi-r-version-images-design.md`
- Plan: `docs/superpowers/plans/2026-05-25-multi-r-version-images.md`

Reviewed-on: #70
2026-05-26 08:51:27 +00:00
e959d9743f
refactor: migrate to backblaze
Some checks failed
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-321-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-323-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-redhat-9-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-322-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2204-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-redhat-8-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-323-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2404-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline failed
ci/crow/cron/update-package-index-alpine-321-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline was canceled
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
2026-03-22 00:32:03 +01:00
automation-bot
a3b3d37fe3 chore(deps): update reg.devxy.io/rpkgs/build-env-alpine docker tag
Some checks failed
ci/crow/cron/update-package-index-alpine-321-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-322-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-323-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-323-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-redhat-8-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-redhat-9-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2204-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2404-arm64 Pipeline was canceled
ci/crow/cron/update-package-index-alpine-321-amd64 Pipeline was canceled
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-323-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline was successful
2026-03-20 00:03:02 +00:00
1def662598
refactor: update build-env image names
Some checks failed
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-323-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
ci/crow/manual/build-all-versions-arm64/4 Pipeline failed
ci/crow/manual/build-all-versions-amd64/1 Pipeline is running
ci/crow/manual/build-all-versions-arm64/3 Pipeline failed
ci/crow/manual/build-all-versions-arm64/2 Pipeline failed
ci/crow/cron/process-updates-alpine-321-arm64 Pipeline was successful
ci/crow/manual/build-all-versions-arm64/1 Pipeline failed
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline failed
ci/crow/cron/process-updates-alpine-321-amd64 Pipeline was successful
ci/crow/manual/build-all-versions-amd64/5 Pipeline failed
ci/crow/manual/build-all-versions-amd64/4 Pipeline failed
ci/crow/manual/build-all-versions-amd64/3 Pipeline failed
ci/crow/manual/build-all-versions-amd64/2 Pipeline failed
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline is running
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline is running
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline is running
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline is running
ci/crow/manual/build-all-versions-install-deps Pipeline is running
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline is running
ci/crow/cron/process-updates-alpine-323-amd64 Pipeline is running
ci/crow/cron/update-package-index-alpine-321-amd64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-9-arm64 Pipeline is running
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline is running
ci/crow/cron/process-updates-alpine-323-arm64 Pipeline failed
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline failed
ci/crow/cron/update-package-index-alpine-323-amd64 Pipeline failed
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline failed
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline failed
2025-12-13 10:53:39 +01:00
510bff292a
ci: GIT_RO_TOKEN -> REPO_RO_TOKEN
Some checks failed
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline failed
ci/crow/cron/update-package-index-alpine-322-arm64 Pipeline failed
ci/crow/cron/update-package-index-alpine-321-amd64 Pipeline failed
ci/crow/cron/update-package-index-ubuntu-2204-arm64 Pipeline failed
ci/crow/cron/update-package-index-alpine-321-arm64 Pipeline failed
ci/crow/cron/update-package-index-redhat-9-arm64 Pipeline failed
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline failed
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline failed
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline failed
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline failed
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline failed
ci/crow/cron/update-package-index-ubuntu-2404-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was canceled
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-321-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-8-amd64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline is running
ci/crow/cron/process-updates-alpine-321-arm64 Pipeline is running
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline is running
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline is running
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline is pending
2025-10-17 14:45:07 +02:00
bbddf0c12c
refactor: switch to reg.devxy.io
Some checks failed
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline failed
ci/crow/cron/process-updates-alpine-321-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-321-amd64 Pipeline failed
ci/crow/cron/update-package-index-ubuntu-2404-arm64 Pipeline failed
ci/crow/cron/update-package-index-alpine-322-arm64 Pipeline failed
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline failed
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline failed
ci/crow/cron/update-package-index-redhat-8-amd64 Pipeline failed
ci/crow/cron/update-package-index-alpine-321-arm64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline failed
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-9-arm64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-321-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline was successful
2025-08-31 20:56:59 +02:00
80fb794cd6
archive refinement
Some checks failed
ci/crow/manual/archive-missed-packages/1 Pipeline was successful
ci/crow/manual/archive-missed-packages/9 Pipeline was successful
ci/crow/manual/archive-missed-packages/3 Pipeline was successful
ci/crow/manual/archive-missed-packages/11 Pipeline was successful
ci/crow/manual/archive-missed-packages/12 Pipeline was canceled
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-8-amd64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-321-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-321-arm64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-9-arm64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-322-arm64 Pipeline was successful
ci/crow/manual/update-package-index-alpine-322-arm64 Pipeline was successful
ci/crow/cron/process-updates-alpine-321-arm64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline was successful
ci/crow/cron/process-updates-alpine-322-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/process-updates-alpine-321-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
2025-06-28 22:29:00 +02:00
c8ff16cbac
add archived-missed-pkgs workflow 2025-06-28 22:03:05 +02:00