From beda7f51f0593b152533289ef47ce4d4b52b3e3f Mon Sep 17 00:00:00 2001 From: Davide Angelocola Date: Fri, 10 Jul 2026 20:30:20 +0200 Subject: [PATCH 1/3] ci: mark osx-x86_64 smoke leg experimental (macos-13 runner deprecated) macos-13 is the only free x86_64 macOS runner; GitHub is deprecating it and the pool is frequently exhausted (job waited 24h for a runner on 2026-07-06). Mark experimental so an unavailable runner does not cancel the whole smoke workflow. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release-smoke.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-smoke.yml b/.github/workflows/release-smoke.yml index 4bf572b..cd40fe2 100644 --- a/.github/workflows/release-smoke.yml +++ b/.github/workflows/release-smoke.yml @@ -61,7 +61,7 @@ jobs: include: - { os: ubuntu-latest, classifier: linux-x86_64, distribution: zulu } - { os: ubuntu-24.04-arm, classifier: linux-aarch64, distribution: zulu } - - { os: macos-13, classifier: osx-x86_64, distribution: zulu } + - { os: macos-13, classifier: osx-x86_64, distribution: zulu, experimental: true } - { os: macos-14, classifier: osx-aarch64, distribution: zulu } - { os: windows-latest, classifier: windows-x86_64, distribution: zulu } - { os: windows-11-arm, classifier: windows-aarch64, distribution: zulu } From cc5ca56797f3806689232f03c104ab1b220b1947 Mon Sep 17 00:00:00 2001 From: Davide Angelocola Date: Fri, 10 Jul 2026 20:31:52 +0200 Subject: [PATCH 2/3] ci: drop macos-13 (osx-x86_64) smoke leg macos-13 is deprecated and the runner pool is exhausted. No free x86_64 macOS runner exists to replace it. Drop the leg entirely rather than keeping a perpetually-stuck experimental entry. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release-smoke.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release-smoke.yml b/.github/workflows/release-smoke.yml index cd40fe2..de03948 100644 --- a/.github/workflows/release-smoke.yml +++ b/.github/workflows/release-smoke.yml @@ -61,7 +61,6 @@ jobs: include: - { os: ubuntu-latest, classifier: linux-x86_64, distribution: zulu } - { os: ubuntu-24.04-arm, classifier: linux-aarch64, distribution: zulu } - - { os: macos-13, classifier: osx-x86_64, distribution: zulu, experimental: true } - { os: macos-14, classifier: osx-aarch64, distribution: zulu } - { os: windows-latest, classifier: windows-x86_64, distribution: zulu } - { os: windows-11-arm, classifier: windows-aarch64, distribution: zulu } From 1ae3e1deffadb57c7627941db56d966bb907e02c Mon Sep 17 00:00:00 2001 From: Davide Angelocola Date: Fri, 10 Jul 2026 20:35:42 +0200 Subject: [PATCH 3/3] ci: add Debian 12 and Amazon Linux 2023 smoke legs; fix job labels - Drop macos-13 (osx-x86_64): runner deprecated, pool exhausted - Add eclipse-temurin:25-jdk-bookworm (Debian 12, glibc 2.36) x86_64+aarch64 - Add amazoncorretto:25-al2023 (Amazon Linux 2023 / RHEL-like, glibc 2.34) x86_64+aarch64 - All container legs are experimental (non-gating probes) - Replace hardcoded '(musl)' job-name suffix with matrix.label field so each container leg shows its own distro tag in the UI Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release-smoke.yml | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release-smoke.yml b/.github/workflows/release-smoke.yml index de03948..c142fcf 100644 --- a/.github/workflows/release-smoke.yml +++ b/.github/workflows/release-smoke.yml @@ -46,26 +46,33 @@ jobs: echo "version=$version" >> "$GITHUB_OUTPUT" smoke: - name: ${{ matrix.classifier }}${{ matrix.container && ' (musl)' || '' }} + name: ${{ matrix.classifier }}${{ matrix.label && format(' ({0})', matrix.label) || '' }} needs: resolve - # musl legs are a probe (glibc natives on Alpine, expected to fail until musl - # natives ship), so they don't gate the workflow; the six native legs do. + # Container legs are probes (different glibc distros, musl/Alpine); they don't + # gate the workflow. The five native runner legs do. continue-on-error: ${{ matrix.experimental || false }} strategy: fail-fast: false matrix: # distribution is per-leg for clarity and easy override. Zulu ships JDK 25 # for all targets (incl. Windows/ARM64, which Temurin does not yet) and - # matches publish.yml. Legs with `container` run the linux native inside an - # Alpine/musl JDK to probe musl support. + # matches publish.yml. Legs with `container` run the linux native inside a + # container to probe compatibility on different distributions and libcs. include: - { os: ubuntu-latest, classifier: linux-x86_64, distribution: zulu } - { os: ubuntu-24.04-arm, classifier: linux-aarch64, distribution: zulu } - { os: macos-14, classifier: osx-aarch64, distribution: zulu } - { os: windows-latest, classifier: windows-x86_64, distribution: zulu } - { os: windows-11-arm, classifier: windows-aarch64, distribution: zulu } - - { os: ubuntu-latest, classifier: linux-x86_64, distribution: zulu, container: "amazoncorretto:25-alpine", experimental: true } - - { os: ubuntu-24.04-arm, classifier: linux-aarch64, distribution: zulu, container: "amazoncorretto:25-alpine", experimental: true } + # musl (Alpine) — glibc natives on a musl libc; expected to fail until musl natives ship + - { os: ubuntu-latest, classifier: linux-x86_64, distribution: zulu, container: "amazoncorretto:25-alpine", label: musl, experimental: true } + - { os: ubuntu-24.04-arm, classifier: linux-aarch64, distribution: zulu, container: "amazoncorretto:25-alpine", label: musl, experimental: true } + # Debian 12 (Bookworm) — glibc 2.36 + - { os: ubuntu-latest, classifier: linux-x86_64, distribution: zulu, container: "eclipse-temurin:25-jdk-bookworm", label: debian, experimental: true } + - { os: ubuntu-24.04-arm, classifier: linux-aarch64, distribution: zulu, container: "eclipse-temurin:25-jdk-bookworm", label: debian, experimental: true } + # Amazon Linux 2023 (RHEL-like) — glibc 2.34 + - { os: ubuntu-latest, classifier: linux-x86_64, distribution: zulu, container: "amazoncorretto:25-al2023", label: al2023, experimental: true } + - { os: ubuntu-24.04-arm, classifier: linux-aarch64, distribution: zulu, container: "amazoncorretto:25-al2023", label: al2023, experimental: true } runs-on: ${{ matrix.os }} permissions: contents: read @@ -94,9 +101,9 @@ jobs: --deps "io.github.dfa1.zstd:zstd:${VERSION},io.github.dfa1.zstd:zstd-native-${{ matrix.classifier }}:${VERSION}" \ .github/smoke/Smoke.java - # --- musl probe: fetch + compile on the glibc host, run inside an Alpine/musl - # JDK container, so node-based actions never run under musl --- - - name: Fetch released jars and compile the smoke (musl) + # --- container probe: fetch + compile on the glibc host, run inside the target + # container, so node-based actions never run under the foreign libc/distro --- + - name: Fetch released jars and compile the smoke (container) if: ${{ matrix.container }} shell: bash env: @@ -111,7 +118,7 @@ jobs: mkdir -p out javac -cp libs/zstd.jar -d out .github/smoke/Smoke.java - - name: Smoke-test ${{ needs.resolve.outputs.version }} on ${{ matrix.classifier }} (musl/Alpine) + - name: Smoke-test ${{ needs.resolve.outputs.version }} on ${{ matrix.classifier }} (${{ matrix.label }}) if: ${{ matrix.container }} shell: bash run: |