feat(local): just rebuild recipe for targeted builds via remote buildx #87

Merged
pat-s merged 1 commit from just-rebuild-recipe into main 2026-06-14 09:03:46 +00:00
Owner

Summary

Adds a local just rebuild recipe to (re)build specific versions of a single package on a given OS/arch, dispatching to a remote buildx builder (the build runs there, not locally).

  • just rebuild <os> <tag> <arch> <package> <version>...docker buildx build --builder <artemis|gaia> --platform linux/<arch> … (amd64→artemis, arm64→gaia; names + R_VERSION env-overridable).
  • docker/build-one.Dockerfile runs build-one.R as a secret-mounted RUN, built --no-cache --output type=cacheonly (pure side-effect: the S3 upload; no image kept).
  • local/build-one.R auto-classifies each version via the ABI classifier (risky → per-minor slot contrib/<x.y>/, else generic), force-rebuilds + uploads + stores metadata, then refreshes the touched slot's PACKAGES index.

Prerequisites

  • buildx builders named artemis (amd64) and gaia (arm64) registered (docker buildx create --name artemis ssh://…).
  • Exported secrets: B2_S3_ACCESS_KEY, B2_S3_SECRET_KEY, PGPASS (GITHUB_PAT optional).
  • bincraft v4.2.0 tag must exist (the build installs @v4.2.0 and uses its classifier + per-minor index API).
## Summary Adds a local `just rebuild` recipe to (re)build specific versions of a single package on a given OS/arch, dispatching to a remote buildx builder (the build runs there, not locally). - `just rebuild <os> <tag> <arch> <package> <version>...` → `docker buildx build --builder <artemis|gaia> --platform linux/<arch> …` (amd64→artemis, arm64→gaia; names + `R_VERSION` env-overridable). - `docker/build-one.Dockerfile` runs `build-one.R` as a secret-mounted `RUN`, built `--no-cache --output type=cacheonly` (pure side-effect: the S3 upload; no image kept). - `local/build-one.R` auto-classifies each version via the ABI classifier (risky → per-minor slot `contrib/<x.y>/`, else generic), force-rebuilds + uploads + stores metadata, then refreshes the touched slot's `PACKAGES` index. ## Prerequisites - buildx builders named `artemis` (amd64) and `gaia` (arm64) registered (`docker buildx create --name artemis ssh://…`). - Exported secrets: `B2_S3_ACCESS_KEY`, `B2_S3_SECRET_KEY`, `PGPASS` (`GITHUB_PAT` optional). - bincraft `v4.2.0` tag must exist (the build installs `@v4.2.0` and uses its classifier + per-minor index API).
Adds a `just rebuild <os> <tag> <arch> <package> <version>...` recipe that
dispatches a single-package (re)build to a remote buildx builder (artemis=amd64,
gaia=arm64). build-one.R auto-classifies each version (per-minor slot for risky,
generic otherwise), force-rebuilds + uploads, and refreshes the touched index.
pat-s merged commit 1224bd74fe into main 2026-06-14 09:03:46 +00:00
pat-s deleted branch just-rebuild-recipe 2026-06-14 09:03:46 +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!87
No description provided.