This is an automated email from the ASF dual-hosted git repository. github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/main/pr-11799-01a9917658fecd639991e92a5a5810be710b539c in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
commit 2177b8e86fb28a6b9ec6f253dd5a59e6ed4a37cd Author: Andrew Lamb <[email protected]> AuthorDate: Thu Oct 22 20:53:40 2026 +0000 Fix CI on ubuntu-latest (Ubuntu 26.04): use Python 3.12 and JDK 17 instead of pinning runners (#11799) # Which issue does this PR close? - Closes https://github.com/apache/arrow-rs/issues/11789 # Rationale for this change The `ubuntu-latest` runner label is [migrating from Ubuntu 24.04 to 26.04](https://github.blog/changelog/2026-09-17-ubuntu-26-generally-available-and-latest-migration/) between October 19 and November 19, 2026. Three jobs on `main` break on the new image (see https://github.com/apache/arrow-rs/actions/runs/39673895251): | Job | Failure on 26.04 | | --- | --- | | dev / Release Audit Tool (RAT) | `The version '3.8' with architecture 'x64' was not found for Ubuntu 26.04` | | integration / Pyarrow C Data Interface | same: no Python 3.8 in the toolcache | | parquet / PySpark Integration Test | `java.lang.UnsupportedOperationException: getSubject is not supported` | The maintenance branches were fixed by pinning those jobs back to `ubuntu-24.04` (#11778, #11781). This PR instead updates the jobs so they run on the current image, as suggested in the issue. # What changes are included in this PR? - **RAT** (`dev.yml`): Python `3.8` → `3.12`. `check-rat-report.py` only uses the standard library. - **Pyarrow C Data Interface** (`integration.yml`): Python `3.8` → `3.12`. 3.12 is the newest version with wheels for every pyarrow in the matrix (`15`, `16`, `17`); pyarrow 15 has no 3.13 wheels, and `pyarrow==15` resolves to 15.0.2 which pins `numpy<2`, so the install still works. `pyo3` 0.29 supports 3.12. - **PySpark Integration Test** (`parquet.yml`): add an `actions/setup-java` step for Temurin 17. The 26.04 image ships JDK 11/17/21/25 with 25 as default; `Subject.getSubject` is disabled on JDK 24+ (JEP 486) so Hadoop/Spark 3.5 cannot start a `SparkContext`. Spark 3.5 supports Java 8/11/17, and 17 is already in the runner toolcache so the step is fast. `actions/setup-java` is pinned by SHA to `v6.1.0`, matching the convention for other actions in this repo. No RUSTSEC / `cargo audit` changes are needed on `main`: the `rustls-webpki` / `webpki-roots` updates from the maintenance branches (#11793, #11794) were originally made on `main` in #11752, and `main` already has `quick-xml` 0.41.0 so it does not need the `--ignore RUSTSEC-2026-0194/0195` flags the maintenance branches carry. # Are these changes tested? By CI on this PR. Whether the jobs land on a 24.04 or 26.04 runner during the rollout window, all three should pass with these settings. # Are there any user-facing changes? No --------- Co-authored-by: Claude Fable 5.1 <[email protected]> --- .github/workflows/dev.yml | 2 +- .github/workflows/integration.yml | 2 +- .github/workflows/parquet.yml | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 9a33f9c796..a932ffbc0f 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -33,7 +33,7 @@ jobs: - name: Setup Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: 3.8 + python-version: "3.12" - name: Audit licenses run: ./dev/release/run-rat.sh . diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 60358df71a..2dea1c5da2 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -200,7 +200,7 @@ jobs: restore-keys: ${{ runner.os }}-${{ runner.arch }}-target-maturin-cache-${{ matrix.rust }}- - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: '3.8' + python-version: '3.12' - name: Upgrade pip and setuptools run: pip install --upgrade pip setuptools wheel virtualenv - name: Create virtualenv and install dependencies diff --git a/.github/workflows/parquet.yml b/.github/workflows/parquet.yml index 380f456f4d..21f98e2148 100644 --- a/.github/workflows/parquet.yml +++ b/.github/workflows/parquet.yml @@ -168,6 +168,13 @@ jobs: with: python-version: "3.10" cache: "pip" + - name: Setup Java + # The default JDK on ubuntu-latest (26.04) is 25, but PySpark 3.5 needs + # Java 8/11/17, so use version 17 + uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 + with: + distribution: temurin + java-version: "17" - name: Install Python dependencies run: | cd parquet/pytest
