perf(ci): route compiles through ccache and use parallel make
Prepend ccache's masquerade dir to PATH in the build pipelines and set the ccache options that make hits possible for R's per-package temp dirs, plus MAKEFLAGS matched to each step's CPU limit.
This commit is contained in:
parent
e7821a75d5
commit
7f6a15abb2
3 changed files with 39 additions and 0 deletions
|
|
@ -140,6 +140,7 @@ steps:
|
|||
- ${ARCH}-binaries-r-dep-cache-${OS}-${OS_VERSION//./}:/mnt/cache
|
||||
commands:
|
||||
- git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git .
|
||||
- . local/compiler-cache.sh
|
||||
- mkdir -p /mnt/cache/uvr/cache /mnt/cache/uvr/packages /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages
|
||||
# The primary pass must not rely on build-all-versions-install-deps having
|
||||
# run on *this* agent: depends_on only orders the steps, but the cache
|
||||
|
|
|
|||
|
|
@ -179,6 +179,8 @@ steps:
|
|||
R_LIBS_USER: /mnt/cache/R-pkgs
|
||||
R_VERSION: ${R_VERSION}
|
||||
CCACHE_DIR: /mnt/cache/ccache
|
||||
# parallel make within one package build, matched to the step's CPU limit
|
||||
MAKE_JOBS: 3
|
||||
PLATFORM: ${OS}
|
||||
OS_ID: ${OS_ID}
|
||||
ARCH: ${ARCH}
|
||||
|
|
@ -186,6 +188,7 @@ steps:
|
|||
INTERVAL: lubridate::interval(lubridate::today() - 6, lubridate::today() - 3)
|
||||
commands:
|
||||
- git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git .
|
||||
- . local/compiler-cache.sh
|
||||
- rm -rf /mnt/cache/R-pkgs/00LOCK-* /mnt/cache/R-pkgs/bincraft
|
||||
- mkdir -p /mnt/cache/uvr/cache /mnt/cache/uvr/packages /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages
|
||||
- /opt/R/$R_VERSION/bin/Rscript local/install-bincraft.R
|
||||
|
|
|
|||
|
|
@ -373,6 +373,8 @@ steps:
|
|||
R_LIBS_USER: /mnt/cache/R-pkgs
|
||||
R_VERSION: ${R_VERSION}
|
||||
CCACHE_DIR: /mnt/cache/ccache
|
||||
# parallel make within one package build, matched to the step's CPU limit
|
||||
MAKE_JOBS: 3
|
||||
PLATFORM: ${OS}
|
||||
ARCH: ${ARCH}
|
||||
NCPUS: 2
|
||||
|
|
@ -384,6 +386,7 @@ steps:
|
|||
REBUILD_BUDGET_HOURS: 20
|
||||
commands:
|
||||
- git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git .
|
||||
- . local/compiler-cache.sh
|
||||
- mkdir -p /mnt/cache/uvr/cache /mnt/cache/uvr/packages /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages
|
||||
- rm -rf /mnt/cache/R-pkgs/00LOCK-*
|
||||
- /opt/R/$R_VERSION/bin/Rscript local/install-bincraft.R
|
||||
|
|
|
|||
Loading…
Reference in a new issue