From 9a0e47a2e833268296b4c3a9cae7b9155d6b4f0a Mon Sep 17 00:00:00 2001 From: pat-s Date: Thu, 28 May 2026 13:41:47 +0200 Subject: [PATCH 1/4] refactor(ci): drop dedicated update-package-index-* chain process-updates-* already calls bincraft::upload_package_index() at the end of each daily run, and PR #71 added the CDN purge there too. The 14-step update-package-index-* chain duplicated that work (~40 min cold rebuild per platform) and serialized purely to dodge S3 rate limits, even though no one was waiting for the index after process-updates had landed it. Deletes the chain. The 'update-package-index' and 'update-package-index-*' cron names referenced inside those files become inert with the YAMLs; the matching cron entries on the Crow side can be removed in a follow-up. --- ...update-package-index-alpine-322-amd64.yaml | 80 ------------------ ...update-package-index-alpine-322-arm64.yaml | 83 ------------------ ...update-package-index-alpine-323-amd64.yaml | 83 ------------------ ...update-package-index-alpine-323-arm64.yaml | 83 ------------------ .../update-package-index-redhat-10-amd64.yaml | 82 ------------------ .../update-package-index-redhat-10-arm64.yaml | 82 ------------------ .../update-package-index-redhat-8-amd64.yaml | 68 --------------- .../update-package-index-redhat-8-arm64.yaml | 68 --------------- .../update-package-index-redhat-9-amd64.yaml | 82 ------------------ .../update-package-index-redhat-9-arm64.yaml | 82 ------------------ ...pdate-package-index-ubuntu-2204-amd64.yaml | 82 ------------------ ...pdate-package-index-ubuntu-2204-arm64.yaml | 82 ------------------ ...pdate-package-index-ubuntu-2404-amd64.yaml | 84 ------------------- ...pdate-package-index-ubuntu-2404-arm64.yaml | 82 ------------------ 14 files changed, 1123 deletions(-) delete mode 100644 .crow/update-package-index-alpine-322-amd64.yaml delete mode 100644 .crow/update-package-index-alpine-322-arm64.yaml delete mode 100644 .crow/update-package-index-alpine-323-amd64.yaml delete mode 100644 .crow/update-package-index-alpine-323-arm64.yaml delete mode 100644 .crow/update-package-index-redhat-10-amd64.yaml delete mode 100644 .crow/update-package-index-redhat-10-arm64.yaml delete mode 100644 .crow/update-package-index-redhat-8-amd64.yaml delete mode 100644 .crow/update-package-index-redhat-8-arm64.yaml delete mode 100644 .crow/update-package-index-redhat-9-amd64.yaml delete mode 100644 .crow/update-package-index-redhat-9-arm64.yaml delete mode 100644 .crow/update-package-index-ubuntu-2204-amd64.yaml delete mode 100644 .crow/update-package-index-ubuntu-2204-arm64.yaml delete mode 100644 .crow/update-package-index-ubuntu-2404-amd64.yaml delete mode 100644 .crow/update-package-index-ubuntu-2404-arm64.yaml diff --git a/.crow/update-package-index-alpine-322-amd64.yaml b/.crow/update-package-index-alpine-322-amd64.yaml deleted file mode 100644 index c77f54a..0000000 --- a/.crow/update-package-index-alpine-322-amd64.yaml +++ /dev/null @@ -1,80 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-alpine-322-amd64 - - event: [cron] - cron: update-package-index - - event: manual - -skip_clone: true - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-alpine:3.22 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - # volumes: - # - amd64-binaries-r-dep-cache-alpine-322:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - # - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine322", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: alpine-322 - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-alpine-322-arm64.yaml b/.crow/update-package-index-alpine-322-arm64.yaml deleted file mode 100644 index cc70b6e..0000000 --- a/.crow/update-package-index-alpine-322-arm64.yaml +++ /dev/null @@ -1,83 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-alpine-322-arm64 - - event: [cron] - cron: update-package-index - - event: manual - -skip_clone: true - -depends_on: - - update-package-index-alpine-322-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-alpine:3.22 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - # volumes: - # - arm64-binaries-r-dep-cache-alpine-322:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - # - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine322", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: alpine-322 - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-alpine-323-amd64.yaml b/.crow/update-package-index-alpine-323-amd64.yaml deleted file mode 100644 index f858f9b..0000000 --- a/.crow/update-package-index-alpine-323-amd64.yaml +++ /dev/null @@ -1,83 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-alpine-323-amd64 - - event: [cron] - cron: update-package-index - - event: manual - -skip_clone: true - -depends_on: - - update-package-index-alpine-322-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-alpine:3.23 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - # volumes: - # - amd64-binaries-r-dep-cache-alpine-323:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - # - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine323", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: alpine-323 - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-alpine-323-arm64.yaml b/.crow/update-package-index-alpine-323-arm64.yaml deleted file mode 100644 index de2a982..0000000 --- a/.crow/update-package-index-alpine-323-arm64.yaml +++ /dev/null @@ -1,83 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-alpine-323-arm64 - - event: [cron] - cron: update-package-index - - event: manual - -skip_clone: true - -depends_on: - - update-package-index-alpine-323-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-alpine:3.23 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - # volumes: - # - arm64-binaries-r-dep-cache-alpine-323:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - # - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine323", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: alpine-323 - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-redhat-10-amd64.yaml b/.crow/update-package-index-redhat-10-amd64.yaml deleted file mode 100644 index 1d161d5..0000000 --- a/.crow/update-package-index-redhat-10-amd64.yaml +++ /dev/null @@ -1,82 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-10-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-10-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-8-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:10 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel10", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: rhel10 - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-redhat-10-arm64.yaml b/.crow/update-package-index-redhat-10-arm64.yaml deleted file mode 100644 index ce82ccc..0000000 --- a/.crow/update-package-index-redhat-10-arm64.yaml +++ /dev/null @@ -1,82 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-10-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-10-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-10-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:10 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel10", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: rhel10 - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-redhat-8-amd64.yaml b/.crow/update-package-index-redhat-8-amd64.yaml deleted file mode 100644 index f9798de..0000000 --- a/.crow/update-package-index-redhat-8-amd64.yaml +++ /dev/null @@ -1,68 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-8-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-8-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-alpine-323-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:8 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel8", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' diff --git a/.crow/update-package-index-redhat-8-arm64.yaml b/.crow/update-package-index-redhat-8-arm64.yaml deleted file mode 100644 index 660ed8d..0000000 --- a/.crow/update-package-index-redhat-8-arm64.yaml +++ /dev/null @@ -1,68 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-8-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-8-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-8-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:8 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel8",s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' diff --git a/.crow/update-package-index-redhat-9-amd64.yaml b/.crow/update-package-index-redhat-9-amd64.yaml deleted file mode 100644 index 913c51a..0000000 --- a/.crow/update-package-index-redhat-9-amd64.yaml +++ /dev/null @@ -1,82 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-9-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-9-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-8-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:9 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel9", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: rhel9 - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-redhat-9-arm64.yaml b/.crow/update-package-index-redhat-9-arm64.yaml deleted file mode 100644 index 45e624c..0000000 --- a/.crow/update-package-index-redhat-9-arm64.yaml +++ /dev/null @@ -1,82 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-9-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-9-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-9-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:9 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel9", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: rhel9 - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-ubuntu-2204-amd64.yaml b/.crow/update-package-index-ubuntu-2204-amd64.yaml deleted file mode 100644 index b987335..0000000 --- a/.crow/update-package-index-ubuntu-2204-amd64.yaml +++ /dev/null @@ -1,82 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-ubuntu-2204-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "ubuntu-2204-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-9-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-ubuntu:jammy - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "jammy", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY")); warnings()' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: jammy - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-ubuntu-2204-arm64.yaml b/.crow/update-package-index-ubuntu-2204-arm64.yaml deleted file mode 100644 index 3df7924..0000000 --- a/.crow/update-package-index-ubuntu-2204-arm64.yaml +++ /dev/null @@ -1,82 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-ubuntu-2204-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "ubuntu-2204-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-ubuntu-2204-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-ubuntu:jammy - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "jammy", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: jammy - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-ubuntu-2404-amd64.yaml b/.crow/update-package-index-ubuntu-2404-amd64.yaml deleted file mode 100644 index 53a593f..0000000 --- a/.crow/update-package-index-ubuntu-2404-amd64.yaml +++ /dev/null @@ -1,84 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-ubuntu-2404-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "ubuntu-2404-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-ubuntu-2204-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-ubuntu:noble - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - # volumes: - # - amd64-binaries-r-dep-cache-ubuntu-2404:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "noble", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: noble - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-ubuntu-2404-arm64.yaml b/.crow/update-package-index-ubuntu-2404-arm64.yaml deleted file mode 100644 index ddc3415..0000000 --- a/.crow/update-package-index-ubuntu-2404-arm64.yaml +++ /dev/null @@ -1,82 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-ubuntu-2404-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "ubuntu-2404-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-ubuntu-2404-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-ubuntu:noble - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "noble", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: noble - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" From 494730be5d8767d2e97c8caebd205f2bbdb0b2e5 Mon Sep 17 00:00:00 2001 From: pat-s Date: Thu, 28 May 2026 11:50:04 +0000 Subject: [PATCH 2/4] feat(ci): purge CDN cache after process-updates runs (#71) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - `process_cran_updates()` ends with `upload_package_index()`, refreshing `src/contrib/PACKAGES{,.gz,.rds,.db}` in S3 — but no CDN purge follows. - The CDN was only purged by the daily `update-package-index-*` chain, so between cron runs the edge kept serving stale indexes. A binary that landed in S3 was effectively invisible to `install.packages()` until the index-update chain caught up. Adds the same `Purge CDN cache` step that `update-package-index-*` already uses, parameterized per platform/arch. The script and image are unchanged. Reviewed-on: https://git.devxy.io/devxy/build-cran-binaries/pulls/71 --- .crow/process-updates-alpine-322-amd64.yaml | 14 ++++++++++++++ .crow/process-updates-alpine-322-arm64.yaml | 14 ++++++++++++++ .crow/process-updates-alpine-323-amd64.yaml | 14 ++++++++++++++ .crow/process-updates-alpine-323-arm64.yaml | 14 ++++++++++++++ .crow/process-updates-redhat-10-amd64.yaml | 14 ++++++++++++++ .crow/process-updates-redhat-10-arm64.yaml | 14 ++++++++++++++ .crow/process-updates-redhat-8-amd64.yaml | 14 ++++++++++++++ .crow/process-updates-redhat-8-arm64.yaml | 14 ++++++++++++++ .crow/process-updates-redhat-9-amd64.yaml | 14 ++++++++++++++ .crow/process-updates-redhat-9-arm64.yaml | 14 ++++++++++++++ .crow/process-updates-ubuntu-2204-amd64.yaml | 14 ++++++++++++++ .crow/process-updates-ubuntu-2204-arm64.yaml | 14 ++++++++++++++ .crow/process-updates-ubuntu-2404-amd64.yaml | 14 ++++++++++++++ .crow/process-updates-ubuntu-2404-arm64.yaml | 14 ++++++++++++++ 14 files changed, 196 insertions(+) diff --git a/.crow/process-updates-alpine-322-amd64.yaml b/.crow/process-updates-alpine-322-amd64.yaml index f028182..9699b04 100644 --- a/.crow/process-updates-alpine-322-amd64.yaml +++ b/.crow/process-updates-alpine-322-amd64.yaml @@ -75,3 +75,17 @@ steps: operator: 'Equal' value: 'true' effect: 'NoSchedule' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: alpine322 + ARCH: amd64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-alpine-322-arm64.yaml b/.crow/process-updates-alpine-322-arm64.yaml index 4e6874e..ab60904 100644 --- a/.crow/process-updates-alpine-322-arm64.yaml +++ b/.crow/process-updates-alpine-322-arm64.yaml @@ -57,3 +57,17 @@ steps: # options(future.globals.onReference = NULL): for some reason s3fs::file_delete() throws 'Error: Detected a non-exportable reference ('externalptr') in one of the globals ('FUN' of class 'function') used in the future expression' otherwise - xvfb-run /opt/R/$R_VERSION/bin/R -q -e "options(crayon.enabled = TRUE, Ncpus = 4, future.globals.onReference = 'error', repos = structure(c(getOption('repos'),INLA='https://inla.r-inla-download.org/R/stable'))); progressr::handlers('cli'); progressr::handlers(global = TRUE); options(future.globals.onReference = NULL); bincraft::process_cran_updates(interval = $INTERVAL, platform = 'alpine-322', process_updated = TRUE, process_new = TRUE, process_removed = TRUE, s3_endpoint = 'https://s3.eu-central-003.backblazeb2.com', s3_region = 'eu-central-003', s3_bucket = 'devxy-rpkgs-binaries', s3_access_key_id = Sys.getenv('B2_S3_ACCESS_KEY'), s3_secret_access_key = Sys.getenv('B2_S3_SECRET_KEY'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'rpkgs', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE)" - /opt/R/$R_VERSION/bin/R -q -e 'library(bincraft); upload_package_index(codename = "alpine322", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: alpine322 + ARCH: arm64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-alpine-323-amd64.yaml b/.crow/process-updates-alpine-323-amd64.yaml index 26db3b6..3963d01 100644 --- a/.crow/process-updates-alpine-323-amd64.yaml +++ b/.crow/process-updates-alpine-323-amd64.yaml @@ -75,3 +75,17 @@ steps: operator: 'Equal' value: 'true' effect: 'NoSchedule' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: alpine323 + ARCH: amd64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-alpine-323-arm64.yaml b/.crow/process-updates-alpine-323-arm64.yaml index 2d56532..9c00fbf 100644 --- a/.crow/process-updates-alpine-323-arm64.yaml +++ b/.crow/process-updates-alpine-323-arm64.yaml @@ -57,3 +57,17 @@ steps: # options(future.globals.onReference = NULL): for some reason s3fs::file_delete() throws 'Error: Detected a non-exportable reference ('externalptr') in one of the globals ('FUN' of class 'function') used in the future expression' otherwise - xvfb-run /opt/R/$R_VERSION/bin/R -q -e "options(crayon.enabled = TRUE, Ncpus = 4, future.globals.onReference = 'error', repos = structure(c(getOption('repos'),INLA='https://inla.r-inla-download.org/R/stable'))); progressr::handlers('cli'); progressr::handlers(global = TRUE); options(future.globals.onReference = NULL); bincraft::process_cran_updates(interval = $INTERVAL, platform = 'alpine-323', process_updated = TRUE, process_new = TRUE, process_removed = TRUE, s3_endpoint = 'https://s3.eu-central-003.backblazeb2.com', s3_region = 'eu-central-003', s3_bucket = 'devxy-rpkgs-binaries', s3_access_key_id = Sys.getenv('B2_S3_ACCESS_KEY'), s3_secret_access_key = Sys.getenv('B2_S3_SECRET_KEY'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'rpkgs', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE)" - /opt/R/$R_VERSION/bin/R -q -e 'library(bincraft); upload_package_index(codename = "alpine323", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: alpine323 + ARCH: arm64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-redhat-10-amd64.yaml b/.crow/process-updates-redhat-10-amd64.yaml index d955bf4..7609969 100644 --- a/.crow/process-updates-redhat-10-amd64.yaml +++ b/.crow/process-updates-redhat-10-amd64.yaml @@ -77,3 +77,17 @@ steps: operator: 'Equal' value: 'true' effect: 'NoSchedule' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: rhel10 + ARCH: amd64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-redhat-10-arm64.yaml b/.crow/process-updates-redhat-10-arm64.yaml index fa46fd6..3bd5b92 100644 --- a/.crow/process-updates-redhat-10-arm64.yaml +++ b/.crow/process-updates-redhat-10-arm64.yaml @@ -58,3 +58,17 @@ steps: - XVFB=$(command -v xwfb-run 2>/dev/null || command -v xvfb-run); XVFB_ARGS=""; if command -v xwfb-run >/dev/null 2>&1; then dnf install -y -q weston 2>/dev/null; XVFB_ARGS="-c weston"; fi - $XVFB $XVFB_ARGS -- /opt/R/$R_VERSION/bin/R -q -e "options(crayon.enabled = TRUE, Ncpus = 4, future.globals.onReference = 'error', repos = structure(c(getOption('repos'),INLA='https://inla.r-inla-download.org/R/stable'))); progressr::handlers('cli'); progressr::handlers(global = TRUE); options(future.globals.onReference = NULL); bincraft::process_cran_updates(interval = $INTERVAL, platform = 'redhat-10', process_updated = TRUE, process_new = TRUE, process_removed = TRUE, s3_endpoint = 'https://s3.eu-central-003.backblazeb2.com', s3_region = 'eu-central-003', s3_bucket = 'devxy-rpkgs-binaries', s3_access_key_id = Sys.getenv('B2_S3_ACCESS_KEY'), s3_secret_access_key = Sys.getenv('B2_S3_SECRET_KEY'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'rpkgs', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE)" - /opt/R/$R_VERSION/bin/R -q -e 'library(bincraft); upload_package_index(codename = "rhel10", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: rhel10 + ARCH: arm64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-redhat-8-amd64.yaml b/.crow/process-updates-redhat-8-amd64.yaml index 775a8ab..defcfec 100644 --- a/.crow/process-updates-redhat-8-amd64.yaml +++ b/.crow/process-updates-redhat-8-amd64.yaml @@ -75,3 +75,17 @@ steps: operator: 'Equal' value: 'true' effect: 'NoSchedule' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: rhel8 + ARCH: amd64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-redhat-8-arm64.yaml b/.crow/process-updates-redhat-8-arm64.yaml index 8561917..9410bec 100644 --- a/.crow/process-updates-redhat-8-arm64.yaml +++ b/.crow/process-updates-redhat-8-arm64.yaml @@ -57,3 +57,17 @@ steps: # options(future.globals.onReference = NULL): for some reason s3fs::file_delete() throws 'Error: Detected a non-exportable reference ('externalptr') in one of the globals ('FUN' of class 'function') used in the future expression' otherwise - xvfb-run /opt/R/$R_VERSION/bin/R -q -e "options(crayon.enabled = TRUE, Ncpus = 4, future.globals.onReference = 'error', repos = structure(c(getOption('repos'),INLA='https://inla.r-inla-download.org/R/stable'))); progressr::handlers('cli'); progressr::handlers(global = TRUE); options(future.globals.onReference = NULL); bincraft::process_cran_updates(interval = $INTERVAL, platform = 'redhat-8', process_updated = TRUE, process_new = TRUE, process_removed = TRUE, s3_endpoint = 'https://s3.eu-central-003.backblazeb2.com', s3_region = 'eu-central-003', s3_bucket = 'devxy-rpkgs-binaries', s3_access_key_id = Sys.getenv('B2_S3_ACCESS_KEY'), s3_secret_access_key = Sys.getenv('B2_S3_SECRET_KEY'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'rpkgs', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE)" - /opt/R/$R_VERSION/bin/R -q -e 'library(bincraft); upload_package_index(codename = "rhel8", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: rhel8 + ARCH: arm64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-redhat-9-amd64.yaml b/.crow/process-updates-redhat-9-amd64.yaml index f926a68..316263d 100644 --- a/.crow/process-updates-redhat-9-amd64.yaml +++ b/.crow/process-updates-redhat-9-amd64.yaml @@ -76,3 +76,17 @@ steps: operator: 'Equal' value: 'true' effect: 'NoSchedule' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: rhel9 + ARCH: amd64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-redhat-9-arm64.yaml b/.crow/process-updates-redhat-9-arm64.yaml index 9a9fbd5..7edb15a 100644 --- a/.crow/process-updates-redhat-9-arm64.yaml +++ b/.crow/process-updates-redhat-9-arm64.yaml @@ -57,3 +57,17 @@ steps: # options(future.globals.onReference = NULL): for some reason s3fs::file_delete() throws 'Error: Detected a non-exportable reference ('externalptr') in one of the globals ('FUN' of class 'function') used in the future expression' otherwise - xvfb-run /opt/R/$R_VERSION/bin/R -q -e "options(crayon.enabled = TRUE, Ncpus = 4, future.globals.onReference = 'error', repos = structure(c(getOption('repos'),INLA='https://inla.r-inla-download.org/R/stable'))); progressr::handlers('cli'); progressr::handlers(global = TRUE); options(future.globals.onReference = NULL); bincraft::process_cran_updates(interval = $INTERVAL, platform = 'redhat-9', process_updated = TRUE, process_new = TRUE, process_removed = TRUE, s3_endpoint = 'https://s3.eu-central-003.backblazeb2.com', s3_region = 'eu-central-003', s3_bucket = 'devxy-rpkgs-binaries', s3_access_key_id = Sys.getenv('B2_S3_ACCESS_KEY'), s3_secret_access_key = Sys.getenv('B2_S3_SECRET_KEY'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'rpkgs', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE)" - /opt/R/$R_VERSION/bin/R -q -e 'library(bincraft); upload_package_index(codename = "rhel9", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: rhel9 + ARCH: arm64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-ubuntu-2204-amd64.yaml b/.crow/process-updates-ubuntu-2204-amd64.yaml index 3ffa6c3..ee7ee40 100644 --- a/.crow/process-updates-ubuntu-2204-amd64.yaml +++ b/.crow/process-updates-ubuntu-2204-amd64.yaml @@ -76,3 +76,17 @@ steps: operator: 'Equal' value: 'true' effect: 'NoSchedule' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: jammy + ARCH: amd64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-ubuntu-2204-arm64.yaml b/.crow/process-updates-ubuntu-2204-arm64.yaml index f98ba39..1b0bb5d 100644 --- a/.crow/process-updates-ubuntu-2204-arm64.yaml +++ b/.crow/process-updates-ubuntu-2204-arm64.yaml @@ -57,3 +57,17 @@ steps: # options(future.globals.onReference = NULL): for some reason s3fs::file_delete() throws 'Error: Detected a non-exportable reference ('externalptr') in one of the globals ('FUN' of class 'function') used in the future expression' otherwise - xvfb-run /opt/R/$R_VERSION/bin/R -q -e "options(crayon.enabled = TRUE, Ncpus = 4, future.globals.onReference = 'error', repos = structure(c(getOption('repos'),INLA='https://inla.r-inla-download.org/R/stable'))); progressr::handlers(global = TRUE); options(future.globals.onReference = NULL); bincraft::process_cran_updates(interval = $INTERVAL, platform = 'ubuntu-2204', process_updated = TRUE, process_new = TRUE, process_removed = TRUE, s3_endpoint = 'https://s3.eu-central-003.backblazeb2.com', s3_region = 'eu-central-003', s3_bucket = 'devxy-rpkgs-binaries', s3_access_key_id = Sys.getenv('B2_S3_ACCESS_KEY'), s3_secret_access_key = Sys.getenv('B2_S3_SECRET_KEY'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'rpkgs', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE)" - /opt/R/$R_VERSION/bin/R -q -e 'library(bincraft); upload_package_index(codename = "jammy", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: jammy + ARCH: arm64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-ubuntu-2404-amd64.yaml b/.crow/process-updates-ubuntu-2404-amd64.yaml index 01c546e..30b46d8 100644 --- a/.crow/process-updates-ubuntu-2404-amd64.yaml +++ b/.crow/process-updates-ubuntu-2404-amd64.yaml @@ -75,3 +75,17 @@ steps: operator: 'Equal' value: 'true' effect: 'NoSchedule' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: noble + ARCH: amd64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/process-updates-ubuntu-2404-arm64.yaml b/.crow/process-updates-ubuntu-2404-arm64.yaml index 09e899d..ee5df4c 100644 --- a/.crow/process-updates-ubuntu-2404-arm64.yaml +++ b/.crow/process-updates-ubuntu-2404-arm64.yaml @@ -57,3 +57,17 @@ steps: # options(future.globals.onReference = NULL): for some reason s3fs::file_delete() throws 'Error: Detected a non-exportable reference ('externalptr') in one of the globals ('FUN' of class 'function') used in the future expression' otherwise - xvfb-run /opt/R/$R_VERSION/bin/R -q -e "options(crayon.enabled = TRUE, Ncpus = 4, future.globals.onReference = 'error', repos = structure(c(getOption('repos'),INLA='https://inla.r-inla-download.org/R/stable'))); progressr::handlers('cli'); progressr::handlers(global = TRUE); options(future.globals.onReference = NULL); bincraft::process_cran_updates(interval = $INTERVAL, platform = 'ubuntu-2404', process_updated = TRUE, process_new = TRUE, process_removed = TRUE, s3_endpoint = 'https://s3.eu-central-003.backblazeb2.com', s3_region = 'eu-central-003', s3_bucket = 'devxy-rpkgs-binaries', s3_access_key_id = Sys.getenv('B2_S3_ACCESS_KEY'), s3_secret_access_key = Sys.getenv('B2_S3_SECRET_KEY'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'rpkgs', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE)" - /opt/R/$R_VERSION/bin/R -q -e 'library(bincraft); upload_package_index(codename = "noble", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' + + - name: Purge CDN cache + image: reg.devxy.io/docker.io/library/alpine:3.23 + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + SUBDOMAIN1: 'cran.devxy.io' + SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' + SUBDOMAIN3: 'cran.rpkgs.com' + OS_ID: noble + ARCH: arm64 + commands: + - apk add --no-cache -q bash curl + - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" From e620bb1c3310216fa4fdc4ddec7426f5130d9633 Mon Sep 17 00:00:00 2001 From: pat-s Date: Thu, 28 May 2026 11:51:16 +0000 Subject: [PATCH 3/4] refactor(ci): drop redundant cranlike/desc installs (#73) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary `bincraft`'s DESCRIPTION already pulls both forks via `Remotes:`: ``` Imports: ... cranlike, ... Remotes: pat-s/cranlike@s3, pat-s/desc@description-from-remote ``` So `pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")` resolves the forks and installs them transitively. The explicit follow-up `pak::pak("pat-s/cranlike@s3")` and `pak::pak("pat-s/desc@description-from-remote")` calls in `update-package-index-*.yaml` are dead weight. Drops the two lines from all 14 `update-package-index-*` files. `process-updates-*.yaml` already only installs `bincraft` — this brings the two workflows in sync. Reviewed-on: https://git.devxy.io/devxy/build-cran-binaries/pulls/73 --- .crow/update-package-index-alpine-322-amd64.yaml | 2 -- .crow/update-package-index-alpine-322-arm64.yaml | 2 -- .crow/update-package-index-alpine-323-amd64.yaml | 2 -- .crow/update-package-index-alpine-323-arm64.yaml | 2 -- .crow/update-package-index-redhat-10-amd64.yaml | 2 -- .crow/update-package-index-redhat-10-arm64.yaml | 2 -- .crow/update-package-index-redhat-8-amd64.yaml | 2 -- .crow/update-package-index-redhat-8-arm64.yaml | 2 -- .crow/update-package-index-redhat-9-amd64.yaml | 2 -- .crow/update-package-index-redhat-9-arm64.yaml | 2 -- .crow/update-package-index-ubuntu-2204-amd64.yaml | 2 -- .crow/update-package-index-ubuntu-2204-arm64.yaml | 2 -- .crow/update-package-index-ubuntu-2404-amd64.yaml | 2 -- .crow/update-package-index-ubuntu-2404-arm64.yaml | 2 -- 14 files changed, 28 deletions(-) diff --git a/.crow/update-package-index-alpine-322-amd64.yaml b/.crow/update-package-index-alpine-322-amd64.yaml index c77f54a..b1c5c05 100644 --- a/.crow/update-package-index-alpine-322-amd64.yaml +++ b/.crow/update-package-index-alpine-322-amd64.yaml @@ -43,8 +43,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' # - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine322", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-alpine-322-arm64.yaml b/.crow/update-package-index-alpine-322-arm64.yaml index cc70b6e..ea2ad78 100644 --- a/.crow/update-package-index-alpine-322-arm64.yaml +++ b/.crow/update-package-index-alpine-322-arm64.yaml @@ -46,8 +46,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' # - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine322", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-alpine-323-amd64.yaml b/.crow/update-package-index-alpine-323-amd64.yaml index f858f9b..80f3d32 100644 --- a/.crow/update-package-index-alpine-323-amd64.yaml +++ b/.crow/update-package-index-alpine-323-amd64.yaml @@ -46,8 +46,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' # - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine323", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-alpine-323-arm64.yaml b/.crow/update-package-index-alpine-323-arm64.yaml index de2a982..035a06c 100644 --- a/.crow/update-package-index-alpine-323-arm64.yaml +++ b/.crow/update-package-index-alpine-323-arm64.yaml @@ -46,8 +46,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' # - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine323", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-redhat-10-amd64.yaml b/.crow/update-package-index-redhat-10-amd64.yaml index 1d161d5..f27ec13 100644 --- a/.crow/update-package-index-redhat-10-amd64.yaml +++ b/.crow/update-package-index-redhat-10-amd64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel10", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-redhat-10-arm64.yaml b/.crow/update-package-index-redhat-10-arm64.yaml index ce82ccc..4f2c598 100644 --- a/.crow/update-package-index-redhat-10-arm64.yaml +++ b/.crow/update-package-index-redhat-10-arm64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel10", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-redhat-8-amd64.yaml b/.crow/update-package-index-redhat-8-amd64.yaml index f9798de..eca80f2 100644 --- a/.crow/update-package-index-redhat-8-amd64.yaml +++ b/.crow/update-package-index-redhat-8-amd64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel8", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-redhat-8-arm64.yaml b/.crow/update-package-index-redhat-8-arm64.yaml index 660ed8d..f41070b 100644 --- a/.crow/update-package-index-redhat-8-arm64.yaml +++ b/.crow/update-package-index-redhat-8-arm64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel8",s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-redhat-9-amd64.yaml b/.crow/update-package-index-redhat-9-amd64.yaml index 913c51a..a74a7ab 100644 --- a/.crow/update-package-index-redhat-9-amd64.yaml +++ b/.crow/update-package-index-redhat-9-amd64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel9", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-redhat-9-arm64.yaml b/.crow/update-package-index-redhat-9-arm64.yaml index 45e624c..e9fa4bf 100644 --- a/.crow/update-package-index-redhat-9-arm64.yaml +++ b/.crow/update-package-index-redhat-9-arm64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel9", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-ubuntu-2204-amd64.yaml b/.crow/update-package-index-ubuntu-2204-amd64.yaml index b987335..31fe4f9 100644 --- a/.crow/update-package-index-ubuntu-2204-amd64.yaml +++ b/.crow/update-package-index-ubuntu-2204-amd64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "jammy", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY")); warnings()' diff --git a/.crow/update-package-index-ubuntu-2204-arm64.yaml b/.crow/update-package-index-ubuntu-2204-arm64.yaml index 3df7924..96c6e50 100644 --- a/.crow/update-package-index-ubuntu-2204-arm64.yaml +++ b/.crow/update-package-index-ubuntu-2204-arm64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "jammy", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-ubuntu-2404-amd64.yaml b/.crow/update-package-index-ubuntu-2404-amd64.yaml index 53a593f..1b289f1 100644 --- a/.crow/update-package-index-ubuntu-2404-amd64.yaml +++ b/.crow/update-package-index-ubuntu-2404-amd64.yaml @@ -47,8 +47,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "noble", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' diff --git a/.crow/update-package-index-ubuntu-2404-arm64.yaml b/.crow/update-package-index-ubuntu-2404-arm64.yaml index ddc3415..bbfff59 100644 --- a/.crow/update-package-index-ubuntu-2404-arm64.yaml +++ b/.crow/update-package-index-ubuntu-2404-arm64.yaml @@ -45,8 +45,6 @@ steps: - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - rm -rf /mnt/cache/packages/* - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/cranlike@s3")' - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("pat-s/desc@description-from-remote")' - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - cd /mnt/cache/packages - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "noble", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' From 1b297b1194daf3de0217b222f3b8eafc46a0fcd8 Mon Sep 17 00:00:00 2001 From: pat-s Date: Thu, 28 May 2026 13:41:47 +0200 Subject: [PATCH 4/4] refactor(ci): drop dedicated update-package-index-* chain process-updates-* already calls bincraft::upload_package_index() at the end of each daily run, and PR #71 added the CDN purge there too. The 14-step update-package-index-* chain duplicated that work (~40 min cold rebuild per platform) and serialized purely to dodge S3 rate limits, even though no one was waiting for the index after process-updates had landed it. Deletes the chain. The 'update-package-index' and 'update-package-index-*' cron names referenced inside those files become inert with the YAMLs; the matching cron entries on the Crow side can be removed in a follow-up. --- ...update-package-index-alpine-322-amd64.yaml | 78 ------------------ ...update-package-index-alpine-322-arm64.yaml | 81 ------------------ ...update-package-index-alpine-323-amd64.yaml | 81 ------------------ ...update-package-index-alpine-323-arm64.yaml | 81 ------------------ .../update-package-index-redhat-10-amd64.yaml | 80 ------------------ .../update-package-index-redhat-10-arm64.yaml | 80 ------------------ .../update-package-index-redhat-8-amd64.yaml | 66 --------------- .../update-package-index-redhat-8-arm64.yaml | 66 --------------- .../update-package-index-redhat-9-amd64.yaml | 80 ------------------ .../update-package-index-redhat-9-arm64.yaml | 80 ------------------ ...pdate-package-index-ubuntu-2204-amd64.yaml | 80 ------------------ ...pdate-package-index-ubuntu-2204-arm64.yaml | 80 ------------------ ...pdate-package-index-ubuntu-2404-amd64.yaml | 82 ------------------- ...pdate-package-index-ubuntu-2404-arm64.yaml | 80 ------------------ 14 files changed, 1095 deletions(-) delete mode 100644 .crow/update-package-index-alpine-322-amd64.yaml delete mode 100644 .crow/update-package-index-alpine-322-arm64.yaml delete mode 100644 .crow/update-package-index-alpine-323-amd64.yaml delete mode 100644 .crow/update-package-index-alpine-323-arm64.yaml delete mode 100644 .crow/update-package-index-redhat-10-amd64.yaml delete mode 100644 .crow/update-package-index-redhat-10-arm64.yaml delete mode 100644 .crow/update-package-index-redhat-8-amd64.yaml delete mode 100644 .crow/update-package-index-redhat-8-arm64.yaml delete mode 100644 .crow/update-package-index-redhat-9-amd64.yaml delete mode 100644 .crow/update-package-index-redhat-9-arm64.yaml delete mode 100644 .crow/update-package-index-ubuntu-2204-amd64.yaml delete mode 100644 .crow/update-package-index-ubuntu-2204-arm64.yaml delete mode 100644 .crow/update-package-index-ubuntu-2404-amd64.yaml delete mode 100644 .crow/update-package-index-ubuntu-2404-arm64.yaml diff --git a/.crow/update-package-index-alpine-322-amd64.yaml b/.crow/update-package-index-alpine-322-amd64.yaml deleted file mode 100644 index b1c5c05..0000000 --- a/.crow/update-package-index-alpine-322-amd64.yaml +++ /dev/null @@ -1,78 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-alpine-322-amd64 - - event: [cron] - cron: update-package-index - - event: manual - -skip_clone: true - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-alpine:3.22 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - # volumes: - # - amd64-binaries-r-dep-cache-alpine-322:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - # - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine322", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: alpine-322 - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-alpine-322-arm64.yaml b/.crow/update-package-index-alpine-322-arm64.yaml deleted file mode 100644 index ea2ad78..0000000 --- a/.crow/update-package-index-alpine-322-arm64.yaml +++ /dev/null @@ -1,81 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-alpine-322-arm64 - - event: [cron] - cron: update-package-index - - event: manual - -skip_clone: true - -depends_on: - - update-package-index-alpine-322-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-alpine:3.22 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - # volumes: - # - arm64-binaries-r-dep-cache-alpine-322:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - # - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine322", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: alpine-322 - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-alpine-323-amd64.yaml b/.crow/update-package-index-alpine-323-amd64.yaml deleted file mode 100644 index 80f3d32..0000000 --- a/.crow/update-package-index-alpine-323-amd64.yaml +++ /dev/null @@ -1,81 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-alpine-323-amd64 - - event: [cron] - cron: update-package-index - - event: manual - -skip_clone: true - -depends_on: - - update-package-index-alpine-322-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-alpine:3.23 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - # volumes: - # - amd64-binaries-r-dep-cache-alpine-323:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - # - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine323", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: alpine-323 - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-alpine-323-arm64.yaml b/.crow/update-package-index-alpine-323-arm64.yaml deleted file mode 100644 index 035a06c..0000000 --- a/.crow/update-package-index-alpine-323-arm64.yaml +++ /dev/null @@ -1,81 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-alpine-323-arm64 - - event: [cron] - cron: update-package-index - - event: manual - -skip_clone: true - -depends_on: - - update-package-index-alpine-323-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-alpine:3.23 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - # volumes: - # - arm64-binaries-r-dep-cache-alpine-323:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - # - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine323", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: alpine-323 - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-redhat-10-amd64.yaml b/.crow/update-package-index-redhat-10-amd64.yaml deleted file mode 100644 index f27ec13..0000000 --- a/.crow/update-package-index-redhat-10-amd64.yaml +++ /dev/null @@ -1,80 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-10-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-10-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-8-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:10 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel10", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: rhel10 - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-redhat-10-arm64.yaml b/.crow/update-package-index-redhat-10-arm64.yaml deleted file mode 100644 index 4f2c598..0000000 --- a/.crow/update-package-index-redhat-10-arm64.yaml +++ /dev/null @@ -1,80 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-10-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-10-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-10-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:10 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.5.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel10", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: rhel10 - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-redhat-8-amd64.yaml b/.crow/update-package-index-redhat-8-amd64.yaml deleted file mode 100644 index eca80f2..0000000 --- a/.crow/update-package-index-redhat-8-amd64.yaml +++ /dev/null @@ -1,66 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-8-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-8-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-alpine-323-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:8 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel8", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' diff --git a/.crow/update-package-index-redhat-8-arm64.yaml b/.crow/update-package-index-redhat-8-arm64.yaml deleted file mode 100644 index f41070b..0000000 --- a/.crow/update-package-index-redhat-8-arm64.yaml +++ /dev/null @@ -1,66 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-8-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-8-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-8-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:8 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel8",s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' diff --git a/.crow/update-package-index-redhat-9-amd64.yaml b/.crow/update-package-index-redhat-9-amd64.yaml deleted file mode 100644 index a74a7ab..0000000 --- a/.crow/update-package-index-redhat-9-amd64.yaml +++ /dev/null @@ -1,80 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-9-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-9-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-8-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:9 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel9", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: rhel9 - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-redhat-9-arm64.yaml b/.crow/update-package-index-redhat-9-arm64.yaml deleted file mode 100644 index e9fa4bf..0000000 --- a/.crow/update-package-index-redhat-9-arm64.yaml +++ /dev/null @@ -1,80 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-redhat-9-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "redhat-9-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-9-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-redhat:9 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "rhel9", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: rhel9 - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-ubuntu-2204-amd64.yaml b/.crow/update-package-index-ubuntu-2204-amd64.yaml deleted file mode 100644 index 31fe4f9..0000000 --- a/.crow/update-package-index-ubuntu-2204-amd64.yaml +++ /dev/null @@ -1,80 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-ubuntu-2204-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "ubuntu-2204-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-redhat-9-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-ubuntu:jammy - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "jammy", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY")); warnings()' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: jammy - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-ubuntu-2204-arm64.yaml b/.crow/update-package-index-ubuntu-2204-arm64.yaml deleted file mode 100644 index 96c6e50..0000000 --- a/.crow/update-package-index-ubuntu-2204-arm64.yaml +++ /dev/null @@ -1,80 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-ubuntu-2204-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "ubuntu-2204-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-ubuntu-2204-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-ubuntu:jammy - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "jammy", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: jammy - ARCH: arm64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-ubuntu-2404-amd64.yaml b/.crow/update-package-index-ubuntu-2404-amd64.yaml deleted file mode 100644 index 1b289f1..0000000 --- a/.crow/update-package-index-ubuntu-2404-amd64.yaml +++ /dev/null @@ -1,82 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-ubuntu-2404-amd64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "ubuntu-2404-amd64"' - -skip_clone: true - -depends_on: - - update-package-index-ubuntu-2204-arm64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-ubuntu:noble - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - # volumes: - # - amd64-binaries-r-dep-cache-ubuntu-2404:/mnt/cache - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "noble", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'amd64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: noble - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3" diff --git a/.crow/update-package-index-ubuntu-2404-arm64.yaml b/.crow/update-package-index-ubuntu-2404-arm64.yaml deleted file mode 100644 index bbfff59..0000000 --- a/.crow/update-package-index-ubuntu-2404-arm64.yaml +++ /dev/null @@ -1,80 +0,0 @@ -when: - - event: [cron] - cron: update-package-index-ubuntu-2404-arm64 - - event: [cron] - cron: update-package-index - - event: manual - evaluate: 'update_package_index == "ubuntu-2404-arm64"' - -skip_clone: true - -depends_on: - - update-package-index-ubuntu-2404-amd64 - -steps: - - name: Upload PACKAGES files - image: reg.devxy.io/rpkgs/build-env-ubuntu:noble - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - B2_S3_ACCESS_KEY: - from_secret: B2_S3_ACCESS_KEY - B2_S3_SECRET_KEY: - from_secret: B2_S3_SECRET_KEY - PGPASS: - from_secret: PGPASS - REPO_RO_TOKEN: - from_secret: REPO_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # 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 - R_VERSION: 4.4.3 - commands: - - git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git . - - rm -rf /mnt/cache/packages/* - - /opt/R/$R_VERSION/bin/R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraft.git")' - - /opt/R/$R_VERSION/bin/R -q -e 'packageVersion("bincraft")' - - cd /mnt/cache/packages - - /opt/R/$R_VERSION/bin/R -q -e 'options(crayon.enabled = TRUE); library(bincraft); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "noble", s3_endpoint = "https://s3.eu-central-003.backblazeb2.com", s3_region = "eu-central-003", s3_bucket = "devxy-rpkgs-binaries", s3_access_key_id = Sys.getenv("B2_S3_ACCESS_KEY"), s3_secret_access_key = Sys.getenv("B2_S3_SECRET_KEY"))' - backend_options: - kubernetes: - resources: - requests: - memory: 2600Mi - cpu: 2000m - limits: - memory: 2600Mi - cpu: 8000m - nodeSelector: - kubernetes.io/arch: 'arm64' - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: Purge CDN cache - image: reg.devxy.io/docker.io/library/alpine:3.23 - environment: - BUNNYNET_API_KEY: - from_secret: BUNNYNET_API_KEY - SUBDOMAIN1: 'cran.devxy.io' - SUBDOMAIN2: 'cran.allianceswisspass.devxy.io' - SUBDOMAIN3: 'cran.rpkgs.com' - OS_ID: noble - ARCH: amd64 - commands: - - apk add --no-cache -q bash curl - - bash scripts/purge_cdn_cache.sh "$BUNNYNET_API_KEY" "$ARCH" "$OS_ID" "$SUBDOMAIN1" "$SUBDOMAIN2" "$SUBDOMAIN3"