local/build-all.R had a 75-name hardcoded vector that drifted from
local/excluded-packages.json (RcmdrPlugin.ROC was in the R vector
but missing from the JSON). weekly-rebuild-missing-* already reads
the JSON, so this aligns build-all.R with that pattern.
- Add the missing RcmdrPlugin.ROC entry to excluded-packages.json
- Replace the hardcoded vector in build-all.R with
jsonlite::fromJSON("local/excluded-packages.json")[["package"]]
- Pull jsonlite into the install-deps step so it's available in
/mnt/cache/R-pkgs for the build step
- Drop the dead base64 SKIP_PKGS docs comment from
build-all-versions-arm64.yaml; point to the JSON instead
s3fs uses reticulate/Python which significantly increases R process memory.
When pak tries to fork R to install package dependencies, the enlarged
process can't be duplicated within the container memory limit.
Now the install-deps step saves the S3 file listing as s3_cache.rds,
and the build step reads it with readRDS() — no s3fs loading needed.
- Load bincraft eagerly via library() to avoid lazy-load memory spike
- Do bulk S3 listing upfront and pass as s3_package_cache to avoid
per-package S3 calls that accumulate memory and trigger fork failures
- Consolidate amd64/arm64 exclude lists into single script
- Much easier to read and maintain than a YAML-embedded one-liner