474a7fe62d
feat(build): raise BuildKit cache-mount budget for remote builders
...
BuildKit's default GC caps the ephemeral cache tier (RUN
--mount=type=cache mounts, local context, git checkouts) at a hardcoded
512 MB.
Across the 7-distro build matrix that fills instantly and forces
re-downloads of system and R packages on every rebuild.
Add docker/buildkitd.toml and pass it via --config when creating the
docker-container builders (artemis/amd64, gaia/arm64):
- cache-mount tier raised 512 MB -> 8 GB, retained 7 days
- total cache bounded at 40 GB with 20 GB min-free (safe on the
disk-tight Hetzner host, modest on the Mac mini)
Limits are absolute rather than percentages because the two hosts differ
~6x in free space. Document the --config flag in the justfile so a future
recreate does not silently revert to the 512 MB default.
2026-07-08 10:20:15 +02:00
7e01f481c0
perf(local): skip per-minor passes for non-r-minor-sensitive packages
...
A package's ABI sensitivity is the same across R minors, so for a non-sensitive
package the per-minor loop only ran `ensure_bincraft` (a ~14s bincraft/cranlike
install per minor) before build-one.R classified and skipped it. The primary
pass now writes a .r_minor_sensitive sentinel when it builds a sensitive
package, and the wrapper gates the whole per-minor loop (installs included) on
that file — non-sensitive rebuilds no longer touch other minors' libraries.
2026-06-14 14:50:40 +02:00
3ae4672d66
feat(local): just rebuild builds across all installed R minors
...
- Dockerfile: install bincraft into each R minor, run a primary pass plus a
sensitive-only pass under every other /opt/R/[0-9]* minor (deduped by minor),
probe/skip xvfb, set GIT_TERMINAL_PROMPT=0; extra-minor failures are non-fatal.
- build-one.R: add --sensitive-only mode, log + shallow-clone the ABI classify
step, and clear cranlike's stale ./PACKAGES.db before each index refresh
(workaround for the "table packages already exists" bug; pending cranlike fix).
2026-06-14 13:02:48 +02:00
1224bd74fe
feat(local): just rebuild recipe for targeted builds via remote buildx ( #87 )
...
## 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).
Reviewed-on: #87
2026-06-14 09:03:45 +00:00
321e3d3205
refactor: bincraftR -> bincraft
ci/crow/cron/process-updates-alpine-320-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline failed
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline failed
ci/crow/cron/process-updates-alpine-320-amd64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline failed
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2204-arm64 Pipeline failed
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
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/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-redhat-8-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-320-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-ubuntu-2204-arm64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2404-arm64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-320-amd64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-321-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline failed
ci/crow/cron/process-updates-alpine-321-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-321-arm64 Pipeline was successful
2025-06-08 15:39:54 +02:00
e2d6240d36
chore: move docs/ and dockerfiles to own repo
2025-06-04 18:26:38 +02:00
1d06a52221
refactor: containerfile setups
ci/crow/cron/images/6 Pipeline failed
ci/crow/cron/images/5 Pipeline failed
ci/crow/cron/images/3 Pipeline failed
ci/crow/cron/images/4 Pipeline failed
ci/crow/cron/images/2 Pipeline failed
ci/crow/cron/images/1 Pipeline failed
2025-06-03 22:30:56 +02:00
1ec3605c9f
feat: build multiarch images
ci/crow/cron/process-updates-alpine-320-arm64 Pipeline was successful
ci/crow/cron/process-updates-redhat-8-arm64 Pipeline was successful
ci/crow/cron/images Pipeline failed
ci/crow/cron/process-updates-redhat-8-amd64 Pipeline was successful
ci/crow/cron/process-updates-alpine-320-amd64 Pipeline was successful
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-redhat-9-arm64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
2025-06-03 17:16:19 +02:00
f48a08b47e
feat: build first part of alpine322 amd64
ci/crow/cron/images/6 Pipeline failed
ci/crow/cron/images/8 Pipeline failed
ci/crow/cron/images/2 Pipeline was successful
ci/crow/cron/images/10 Pipeline was successful
ci/crow/cron/images/4 Pipeline was successful
ci/crow/cron/images/7 Pipeline was successful
ci/crow/cron/images/12 Pipeline was successful
ci/crow/cron/images/5 Pipeline was successful
ci/crow/cron/images/1 Pipeline was successful
ci/crow/cron/images/11 Pipeline was successful
ci/crow/cron/images/9 Pipeline was successful
ci/crow/cron/update-package-index-alpine-322-amd64 Pipeline failed
ci/crow/cron/update-package-index-redhat-9-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-320-amd64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-8-amd64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-321-amd64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/update-package-index-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-8-arm64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-320-arm64 Pipeline was successful
ci/crow/cron/update-package-index-alpine-321-arm64 Pipeline was successful
ci/crow/cron/update-package-index-redhat-9-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/manual/alpine-322-amd64-install-deps Pipeline was successful
ci/crow/manual/build-alpine-322-amd64-1 Pipeline failed
ci/crow/manual/build-alpine-322-amd64-2 Pipeline failed
ci/crow/manual/build-alpine-322-amd64-3 Pipeline failed
ci/crow/manual/build-alpine-322-amd64-4 Pipeline failed
ci/crow/manual/build-alpine-322-amd64-5 Pipeline failed
2025-06-01 12:40:11 +02:00
b769276679
fix: bincraftr url for install
ci/crow/cron/process-updates-alpine-320-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-320-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-arm64 Pipeline was successful
ci/crow/cron/process-updates-alpine-321-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2204-amd64 Pipeline was successful
ci/crow/cron/process-updates-redhat-9-amd64 Pipeline was successful
ci/crow/cron/process-updates-ubuntu-2404-arm64 Pipeline was successful
2025-05-29 17:15:05 +02:00
468c45a4be
use R 4.4.3 in images
2025-03-30 12:34:02 +02:00
d903cf883e
alpine: solve lapack dep conflict
2025-03-30 12:33:46 +02:00
43b2cd2890
dont install jags twice
2025-02-28 15:59:37 +01:00
ae5f9b0b1a
fix: as casing, use pak stable
2025-02-23 13:08:42 +01:00
097a13ddd4
fix docker AS casing
2025-02-10 09:27:31 +01:00
153594584c
pin alpine320
2025-02-09 09:27:44 +01:00
e51bec4376
rhel-8: use newer libgit2 sysdep
2025-01-14 19:09:02 +01:00
automation-bot
2a53d6e09b
chore(deps): update alpine docker tag to v3.21
2025-01-09 00:01:19 +00:00
22960eb7c1
fix s3 download locations
2024-12-30 11:24:19 +01:00
ad768bce27
use new s3 bucket
2024-12-22 14:32:09 +01:00
19a4ef5cee
chore: update keyword casings
2024-12-13 17:07:55 +01:00
7ceb06323e
dynamic dep installs in images
2024-12-13 16:22:51 +01:00
577b7d9465
add libdeflate to alpine images
2024-12-11 18:39:25 +01:00
722e0477dd
add alpine-321 image
2024-12-06 16:18:21 +01:00
automation-bot
697939dd98
chore(deps): update alpine docker tag to v3.21.0
2024-12-06 00:04:16 +00:00
cc983c5bc9
use ARG ARCH instead of ENV ARCH
2024-11-27 17:46:27 +01:00
11db4556b3
image regressions
2024-11-27 13:46:29 +01:00
3d5a815004
cache images
2024-11-26 22:50:13 +01:00
33ceea0579
new multi-stage docker file
2024-11-26 14:11:52 +01:00
0dee763a30
add elfutils-dev to alpine image
2024-11-26 09:28:10 +01:00
6feec053dd
add libtool and autoconf to alpine image
2024-11-25 23:10:26 +01:00
7ae8c3e596
use pak devel on alpine
2024-11-25 22:27:39 +01:00
fcf2b3fed2
chore: use own repos in dockerfiles
2024-11-25 10:01:06 +01:00
78a0b95e36
use pak stable
2024-11-25 09:08:59 +01:00
af6d13a27d
use pak devel
2024-11-24 13:20:43 +01:00
f86acf0869
build missing packages
2024-11-21 20:38:30 +01:00
a9a2e95712
chore: install automake in images
2024-11-21 18:44:54 +01:00
f994490862
rename to containerfile
2024-11-21 10:25:16 +01:00
17a8491684
install bincraftR from git repo
2024-11-20 20:15:14 +01:00
eaff25c158
install dbplyr in images
2024-11-14 17:08:15 +01:00
36afcf2cdf
pin alpine version
2024-11-10 09:20:02 +01:00
03baf86f49
remove unused secret env vars
2024-11-04 12:17:17 +01:00
c0bb6b6aa8
chore: versionize R_VERSION build_arg via renovate
2024-11-04 12:07:15 +01:00
5b1b467668
chore: add alpine regex
2024-11-01 19:32:07 +01:00
ff911732e1
escape
2024-09-30 12:35:57 +02:00
b99d0b15ae
add alma9 reprex
2024-09-30 11:33:04 +02:00
a32c6023bf
install future.callr
2024-09-30 11:32:53 +02:00
0dedbdf060
fix x-server on alpine, install callr
2024-09-30 11:31:33 +02:00
552c74d5c5
set utf-8 encoding
2024-09-30 11:31:06 +02:00
74005f4067
install pak binary again
2024-09-30 11:30:57 +02:00