build-cran-binaries/.woodpecker/update-package-index-alpine-320-arm64.yaml

76 lines
3.5 KiB
YAML

when:
- event: [cron]
cron: update-package-index-alpine-320-arm64
- event: [cron]
cron: update-package-index
- event: manual
evaluate: 'update_package_index == "alpine-320-arm64"'
skip_clone: true
steps:
- name: Upload PACKAGES files
image: docker.io/devxygmbh/arm64-binaries-r-ubuntu-2404
pull: true
environment:
RED_HAT_DEV_PW:
from_secret: RED_HAT_DEV_PW
HETZNER_S3_ACCESS_KEY_K3S:
from_secret: HETZNER_S3_ACCESS_KEY_K3S
HETZNER_S3_SECRET_KEY_K3S:
from_secret: HETZNER_S3_SECRET_KEY_K3S
PGPASS:
from_secret: PGPASS
GIT_RO_TOKEN:
from_secret: GIT_RO_TOKEN
GITHUB_PAT:
from_secret: GITHUB_PAT
# normal env vars
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
commands:
- git clone https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git .
- rm -rf /mnt/cache/packages/*
- R -q -e 'pak::pak("git::https://gitlab.com/devxy/r-package-binaries/bincraftr.git")'
- R -q -e 'pak::pak("pat-s/cranlike@s3")'
- R -q -e 'pak::pak("pat-s/desc@description-from-remote")'
- R -q -e 'packageVersion("bincraftR")'
- cd /mnt/cache/packages
- R -q -e 'options(crayon.enabled = TRUE); library(bincraftR); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine320")'
backend_options:
kubernetes:
resources:
requests:
memory: 3000Mi
cpu: 2000m
limits:
memory: 3000Mi
cpu: 8000m
nodeSelector:
kubernetes.io/arch: 'arm64'
- name: Purge CDN cache
image: byrnedo/alpine-curl:3.20
environment:
BUNNY_API_KEY:
from_secret: BUNNY_API_KEY
commands: |
apk add -q --no-cache curl ca-certificates
curl -sL -X POST -H "AccessKey: $BUNNY_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine320%2Flatest%2Fsrc%2Fcontrib%2FPACKAGES&async=false
curl -sL -X POST -H "AccessKey: $BUNNY_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine320%2Flatest%2Fsrc%2Fcontrib%2FPACKAGES.gz&async=false
curl -sL -X POST -H "AccessKey: $BUNNY_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine320%2Flatest%2Fsrc%2Fcontrib%2FPACKAGES.rds&async=false
curl -sL -X POST -H "AccessKey: $BUNNY_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine320%2Flatest%2Fsrc%2Fcontrib%2FPACKAGES.db&async=false
curl -sL -X POST -H "AccessKey: $BUNNY_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine320%2Flatest%2Fsrc%2Fcontrib%2FPMeta%2FParchive.rds&async=false
sleep 20 # need to wait a bit to successfully deliver API calls
- name: 'ntfy'
image: binwiederhier/ntfy:v2.11.0
when:
- status: [failure]
environment:
NTFY_TOKEN:
from_secret: ntfy_token
commands: |
ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR}