From f8c36d4a772e2b42d13a7a7caf92d253160ff2a0 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Thu, 12 Mar 2026 10:12:48 +0100 Subject: [PATCH 1/2] parse macos info site to avoid updating release version link --- .github/workflows/R-CMD-check.yaml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index fcb6d40a6..617446378 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -80,9 +80,20 @@ jobs: if: runner.os == 'macOS' run: | if clang --version | grep 'clang version 17'; then - curl -O https://mac.r-project.org/openmp/openmp-19.1.0-darwin20-Release.tar.gz - sudo tar fvvxz openmp-19.1.0-darwin20-Release.tar.gz -C / - rm -f openmp-19.1.0-darwin20-Release.tar.gz + if ! openmp_tarball=$( + apple_clang_series=$(clang --version | sed -nE 's/.*\(clang-([0-9]{4})\..*/\1/p') + APPLE_CLANG_SERIES="${apple_clang_series}" \ + curl --fail --location --retry 3 --retry-all-errors --connect-timeout 20 --max-time 180 \ + https://mac.r-project.org/openmp/ | + perl -0ne 'if (m{\s*]*>.*?Apple clang \Q$ENV{APPLE_CLANG_SERIES}\E\.x.*?\s*]*>.*?]*href="(openmp-[^"]+-darwin[^"]*-Release\.tar\.gz)"[^>]*>}si) { print $1; exit 0 } exit 1;' + ); then + echo "Failed to resolve OpenMP runtime from https://mac.r-project.org/openmp/" + exit 1 + fi + curl --fail --location --retry 3 --retry-all-errors --connect-timeout 20 --max-time 180 \ + -O "https://mac.r-project.org/openmp/${openmp_tarball}" + sudo tar fvxz "${openmp_tarball}" -C / + rm -f "${openmp_tarball}" fi # otherwise R-bundled runtime is fine - name: Install dependencies From 5a0ef3d772bbd4fa128dd1f0d7afba6c40b92838 Mon Sep 17 00:00:00 2001 From: Benjamin Schwendinger Date: Thu, 12 Mar 2026 10:38:28 +0100 Subject: [PATCH 2/2] fail graciously --- .github/workflows/R-CMD-check.yaml | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 617446378..81b186288 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -80,20 +80,14 @@ jobs: if: runner.os == 'macOS' run: | if clang --version | grep 'clang version 17'; then - if ! openmp_tarball=$( - apple_clang_series=$(clang --version | sed -nE 's/.*\(clang-([0-9]{4})\..*/\1/p') - APPLE_CLANG_SERIES="${apple_clang_series}" \ - curl --fail --location --retry 3 --retry-all-errors --connect-timeout 20 --max-time 180 \ - https://mac.r-project.org/openmp/ | - perl -0ne 'if (m{\s*]*>.*?Apple clang \Q$ENV{APPLE_CLANG_SERIES}\E\.x.*?\s*]*>.*?]*href="(openmp-[^"]+-darwin[^"]*-Release\.tar\.gz)"[^>]*>}si) { print $1; exit 0 } exit 1;' - ); then - echo "Failed to resolve OpenMP runtime from https://mac.r-project.org/openmp/" - exit 1 + openmp_tarball=openmp-19.1.5-darwin20-Release.tar.gz + if curl --fail --location --retry 3 --retry-all-errors --connect-timeout 20 --max-time 180 \ + -O "https://mac.r-project.org/openmp/${openmp_tarball}"; then + sudo tar fvxz "${openmp_tarball}" -C / + rm -f "${openmp_tarball}" + else + echo "Warning: failed to fetch OpenMP runtime from https://mac.r-project.org/openmp/; continuing without it" fi - curl --fail --location --retry 3 --retry-all-errors --connect-timeout 20 --max-time 180 \ - -O "https://mac.r-project.org/openmp/${openmp_tarball}" - sudo tar fvxz "${openmp_tarball}" -C / - rm -f "${openmp_tarball}" fi # otherwise R-bundled runtime is fine - name: Install dependencies