build rhel10

This commit is contained in:
Patrick Schratz 2026-01-05 16:18:29 +01:00
commit 0e452fce55
Signed by: pat-s
GPG key ID: 3C6318841EF78925
2 changed files with 63 additions and 77 deletions

View file

@ -5,6 +5,7 @@
# R_VERSION (4.5) # R_VERSION (4.5)
# woodpecker-cli pipeline create --var ARCH=amd64 --var OS=alpine --var OS_VERSION=3.23 --var R_VERSION=4.5 --var task=build-all-amd64 --var K8S_INSTANCE_TYPE=AX42 --branch=main --log-level=info 5 # woodpecker-cli pipeline create --var ARCH=amd64 --var OS=alpine --var OS_VERSION=3.23 --var R_VERSION=4.5 --var task=build-all-amd64 --var K8S_INSTANCE_TYPE=AX42 --branch=main --log-level=info 5
# crow-dev pipeline create --var ARCH=amd64 --var OS=alpine --var OS_VERSION=3.23 --var R_VERSION=4.5 --var task=build-all-amd64 --var K8S_INSTANCE_TYPE=AX42 --branch=main --log-level=info 5 # crow-dev pipeline create --var ARCH=amd64 --var OS=alpine --var OS_VERSION=3.23 --var R_VERSION=4.5 --var task=build-all-amd64 --var K8S_INSTANCE_TYPE=AX42 --branch=main --log-level=info 5
# crow pipeline create --var ARCH=amd64 --var OS=redhat --var OS_VERSION=10 --var R_VERSION=4.5 --var task=build-all-amd64 --var K8S_INSTANCE_TYPE=AX42 --branch=main --log-level=info 5
when: when:
- event: manual - event: manual
evaluate: 'task == "build-all-amd64"' evaluate: 'task == "build-all-amd64"'
@ -32,24 +33,9 @@ matrix:
- SPLIT_INTO: 5 - SPLIT_INTO: 5
SPLIT_INDEX: 5 SPLIT_INDEX: 5
BACKEND: kubernetes BACKEND: kubernetes
# - SPLIT_INTO: 10
# SPLIT_INDEX: 6
# BACKEND: kubernetes
# - SPLIT_INTO: 10
# SPLIT_INDEX: 7
# BACKEND: kubernetes
# - SPLIT_INTO: 10
# SPLIT_INDEX: 8
# BACKEND: kubernetes
# - SPLIT_INTO: 10
# SPLIT_INDEX: 9
# BACKEND: kubernetes
# - SPLIT_INTO: 10
# SPLIT_INDEX: 10
# BACKEND: kubernetes
depends_on: # depends_on:
- build-all-versions-install-deps # - build-all-versions-install-deps
steps: steps:
- name: 'Build binaries' - name: 'Build binaries'

View file

@ -1,63 +1,63 @@
### Required extra vars # ### Required extra vars
# ARCH (amd64) # # ARCH (amd64)
# OS (alpine) # # OS (alpine)
# OS_VERSION (3.22) # # OS_VERSION (3.22)
# R_VERSION (4.5) # # R_VERSION (4.5)
when: # # when:
# - event: manual # # - event: manual
# evaluate: 'task == "build-all-arm64"' # # evaluate: 'task == "build-all-arm64"'
- event: manual # # - event: manual
evaluate: 'task == "build-all-amd64"' # # evaluate: 'task == "build-all-amd64"'
skip_clone: true # skip_clone: true
labels: # labels:
platform: linux/amd64 # platform: linux/amd64
backend: kubernetes # backend: kubernetes
steps: # steps:
- name: 'Install common R deps' # - name: 'Install common R deps'
image: reg.devxy.io/rpkgs/build-env-alpine:${OS_VERSION}-${R_VERSION} # image: reg.devxy.io/rpkgs/build-env-${OS}:${OS_VERSION}-${R_VERSION}
pull: true # pull: true
environment: # environment:
REPO_RO_TOKEN: # REPO_RO_TOKEN:
from_secret: REPO_RO_TOKEN # from_secret: REPO_RO_TOKEN
GITHUB_PAT: # GITHUB_PAT:
from_secret: GITHUB_PAT # from_secret: GITHUB_PAT
HETZNER_S3_ACCESS_KEY_K3S: # HETZNER_S3_ACCESS_KEY_K3S:
from_secret: HETZNER_S3_ACCESS_KEY_K3S # from_secret: HETZNER_S3_ACCESS_KEY_K3S
HETZNER_S3_SECRET_KEY_K3S: # HETZNER_S3_SECRET_KEY_K3S:
from_secret: HETZNER_S3_SECRET_KEY_K3S # from_secret: HETZNER_S3_SECRET_KEY_K3S
# normal env vars # # normal env vars
GIT_USER: pat-s # GIT_USER: pat-s
# set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves # # 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_PKG_CACHE_DIR: /mnt/cache/pkgcache
R_LIBS_USER: /mnt/cache/R-pkgs # R_LIBS_USER: /mnt/cache/R-pkgs
CCACHE_DIR: /mnt/cache/ccache # CCACHE_DIR: /mnt/cache/ccache
volumes: # volumes:
- ${ARCH}-binaries-r-dep-cache-${OS}-${OS_VERSION//./}:/mnt/cache # - ${ARCH}-binaries-r-dep-cache-${OS}-${OS_VERSION//./}:/mnt/cache
commands: # commands:
- git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . # - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git .
- mkdir -p /mnt/cache/R-pkgs # - mkdir -p /mnt/cache/R-pkgs
- rm -rf /mnt/cache/R-pkgs/00LOCK-* /mnt/cache/R-pkgs/bincraft /mnt/cache/pkgcache # - rm -rf /mnt/cache/R-pkgs/00LOCK-* /mnt/cache/R-pkgs/bincraft /mnt/cache/pkgcache
- R -q -e 'install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/stable/%s/%s/%s", .Platform$pkgType, R.Version()$os, R.Version()$arch))' # - R -q -e 'install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/stable/%s/%s/%s", .Platform$pkgType, R.Version()$os, R.Version()$arch))'
- R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git", dependencies = TRUE)' # - R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git", dependencies = TRUE)'
- R -q -e 'packageVersion("bincraft")' # - R -q -e 'packageVersion("bincraft")'
# - R -q -e "future::plan('multisession', workers = 6L); pkgs = bincraft::query_packages_without_historic_versions('alpine322', 'amd64'); saveRDS(pkgs, '/mnt/cache/pkgs_amd64.rds')" # # - R -q -e "future::plan('multisession', workers = 6L); pkgs = bincraft::query_packages_without_historic_versions('alpine322', 'amd64'); saveRDS(pkgs, '/mnt/cache/pkgs_amd64.rds')"
- R -q -e "future::plan('multisession', workers = 6L); pkgs = bincraft::query_packages_without_historic_versions('alpine323', 'arm64'); saveRDS(pkgs, '/mnt/cache/pkgs_arm64.rds')" # - R -q -e "future::plan('multisession', workers = 6L); pkgs = bincraft::query_packages_without_historic_versions('alpine323', 'arm64'); saveRDS(pkgs, '/mnt/cache/pkgs_arm64.rds')"
backend_options: # backend_options:
kubernetes: # kubernetes:
resources: # resources:
requests: # requests:
memory: 1000Mi # memory: 1000Mi
cpu: 1000m # cpu: 1000m
limits: # limits:
memory: 4500Mi # memory: 4500Mi
cpu: 8000m # cpu: 8000m
nodeSelector: # nodeSelector:
kubernetes.io/arch: ${ARCH} # kubernetes.io/arch: ${ARCH}
tolerations: # tolerations:
- key: 'CI' # - key: 'CI'
operator: 'Equal' # operator: 'Equal'
value: 'true' # value: 'true'
effect: 'NoSchedule' # effect: 'NoSchedule'