fix: stabilize alpine CI steps
Some checks failed
ci/crow/cron/build/9 Pipeline failed
ci/crow/cron/build/16 Pipeline failed
ci/crow/cron/build/10 Pipeline failed
ci/crow/cron/build/2 Pipeline failed
ci/crow/cron/build/8 Pipeline failed
ci/crow/cron/build/11 Pipeline failed
ci/crow/cron/build/1 Pipeline failed
ci/crow/cron/build/6 Pipeline failed
ci/crow/cron/build/12 Pipeline failed
ci/crow/cron/build/7 Pipeline was successful
ci/crow/cron/build/4 Pipeline failed
ci/crow/cron/build/5 Pipeline was successful
ci/crow/cron/build/3 Pipeline was successful
ci/crow/cron/build/14 Pipeline failed
ci/crow/cron/build/13 Pipeline failed
ci/crow/cron/build/15 Pipeline failed

- Fetch R version from Homebrew JSON API with jq instead of scraping
  the raw formula (was silently producing an empty version file that
  propagated to downstream steps).
- Replace grep -oP with grep -oE in the S3 listing step; BusyBox grep
  in the alpine image has no Perl-regex support.
- Add ephemeral-storage requests/limits to the Build step so the
  docker-cli apk extract doesn't fail with I/O errors under node
  disk pressure.
This commit is contained in:
Patrick Schratz 2026-05-13 16:48:08 +02:00
commit 4695bd08b7
Signed by: pat-s
GPG key ID: 3C6318841EF78925

View file

@ -90,8 +90,8 @@ steps:
- name: Get latest R version
image: reg.devxy.io/docker.io/library/alpine:3.23
commands:
- apk add -q --no-cache curl
- curl -s https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/r/r.rb | grep -o 'R-[0-9]*\.[0-9]*\.[0-9]*' | tr -d 'R-' | tr -d '"' | head -n 1 > r-version-to-build.txt
- apk add -q --no-cache curl jq
- curl -sf https://formulae.brew.sh/api/formula/r.json | jq -er '.versions.stable' > r-version-to-build.txt
# - echo "4.1.3" > r-version-to-build.txt
- cat r-version-to-build.txt
backend_options:
@ -114,7 +114,7 @@ steps:
- |
VERSION=$(cat r-version-to-build.txt)
curl -s "https://s3.eu-central-003.backblazeb2.com/devxy-r-builds?prefix=${PLATFORM_ID}/" | \
grep -oP '<Key>[^<]+</Key>' | sed 's/<[^>]*>//g' | \
grep -oE '<Key>[^<]+</Key>' | sed 's/<[^>]*>//g' | \
awk -v arch="${ARCH_ID}" -v ver="${VERSION}" \
'$0 ~ arch && $0 ~ ver {print substr($NF, 3, 5)}' > r-version-s3.txt
- cat r-version-s3.txt
@ -142,9 +142,11 @@ steps:
requests:
memory: 200Mi
cpu: 500m
ephemeral-storage: 2Gi
limits:
memory: 1000Mi
cpu: 4000m
ephemeral-storage: 4Gi
nodeSelector:
kubernetes.io/arch: "${ARCH}"