build-cran-binaries/.woodpecker/update-package-index.yaml
2024-08-30 10:12:51 +02:00

45 lines
1.8 KiB
YAML

when:
- event: [cron]
cron: update-package-index
skip_clone: true
matrix:
include:
- PLATFORM: redhat-9
- PLATFORM: redhat-8
- PLATFORM: ubuntu-2404
- PLATFORM: ubuntu-2204
# - PLATFORM: alpine-320
steps:
- name: Upload PACKAGES files
secrets: [red_hat_dev_pw, aws_access_key_id, aws_secret_access_key, pgpass, git_ro_token, GITHUB_PAT]
image: docker.io/devxygmbh/arm-binaries-r-${PLATFORM}
pull: true
environment:
GIT_USER: pat-s
# set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves
R_PKG_CACHE_DIR: /mnt/cache/pkgcache
R_LIBS_USER: /mnt/cache/R-pkgs
volumes:
- arm-binaries-r-dep-cache-${PLATFORM}:/mnt/cache
commands:
# download latest package version (avoid having to rebuild image every time)
# rscript_startup arg: required to pass down global option to future workers https://github.com/HenrikBengtsson/future/issues/134#issuecomment-2245666169
- git clone https://pat-s:$$git_ro_token@git.devxy.io/devxy/arm64-r-binaries.git .
- rm -rf /mnt/cache/packages/*
- R -q -e 'devtools::install(); packageVersion("rBinaries")'
- R -q -e 'pak::pak(c("pat-s/desc@description-from-remote", "pat-s/cranlike@s3"))'
- cd /mnt/cache/packages
- R -q -e 'options(crayon.enabled = TRUE); library(rBinaries); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index()'
backend_options:
kubernetes:
resources:
requests:
memory: 5000Mi
cpu: 2000m
limits:
memory: 15000Mi
cpu: 4000m
nodeSelector:
kubernetes.io/arch: 'arm64'