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

Reply via email to