Keep build caches across runs so a rebuild compiles only what changed
Every build started from an empty container and recompiled R, JASP and 1000+ R packages, which is days of CPU on the runner. Now: - /srv/jasp-cache on the host holds ccache and the renv package cache, linked into the paths jaspModuleTools::compile() hard-codes. - RENV_PATHS_PREFIX is fixed: renv otherwise keys the cache on the archlinux image's build date, so any newer image started cold. - Cached packages with unresolved sonames after an Arch update are purged, so only those are rebuilt. - R packages compile without -g (the Stan/Eigen ones spend real time and GBs of memory on debug info), and retry passes skip modules that already built. Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9
This commit is contained in:
@@ -86,6 +86,7 @@ jobs:
|
||||
docker rm -f jasp-build 2>/dev/null || true
|
||||
docker run --rm --name jasp-build \
|
||||
-v "${WORK_DIR}:/work" \
|
||||
-v /srv/jasp-cache:/cache \
|
||||
-e JASP_TAG="${{ needs.check.outputs.jasp_tag }}" \
|
||||
-e OUT_DIR=/work/out \
|
||||
-e JOBS=5 \
|
||||
|
||||
Reference in New Issue
Block a user