Skip to content

[CI] Pin JDK 17 for spotless and Ubuntu 24.04 for the Python extension build - #3499

Merged
jiayuasu merged 1 commit into
apache:masterfrom
jiayuasu:fix/ci-ubuntu-26-04-runner
Oct 22, 2026
Merged

jiayuasu merged 1 commit into
apache:masterfrom
jiayuasu:fix/ci-ubuntu-26-04-runner

Conversation

@jiayuasu

Copy link
Copy Markdown
Member

Did you read the Contributor Guide?

Is this PR related to a ticket?

  • No:
    • this is a CI update. The PR name follows the format [CI] my subject

What changes were proposed in this PR?

GitHub moved ubuntu-latest to the Ubuntu 26.04 image. Two workflows have failed on open PRs since then (#3461, #3484, #3485).

Manual hooks: the default JDK on the new image is 25 instead of 17. google-java-format 1.15.0, which spotless uses, calls a javac internal API whose signature changed, so mvn spotless:apply fails with NoSuchMethodError: 'java.util.Queue com.sun.tools.javac.util.Log$DeferredDiagnosticHandler.getDiagnostics()'. The workflow now sets up JDK 17 with actions/setup-java, using the same pinned SHA as the other workflows.

Python build extension: actions/setup-python has no Python 3.8 or 3.9 builds for Ubuntu 26.04, so the 3.8 job fails at setup and fail-fast cancels the other Linux jobs. requires-python is still >=3.8, so the Linux leg now runs on ubuntu-24.04 instead of dropping those versions.

The other ubuntu-latest jobs (pre-commit, wheels, links, CodeQL) pass on 26.04 and are unchanged.

How was this patch tested?

  • Ran mvn spotless:check -pl common on master: it fails with the same NoSuchMethodError on Temurin 25.0.4.1 and passes on JDK 17.
  • Checked the actions/python-versions manifest: no 3.8 or 3.9 x64 builds exist for 26.04, while 24.04 has 3.8.18 and 3.9.25.
  • Ran the pre-commit hooks (actionlint, zizmor, yamllint, prettier) on the two changed files.

Did this PR include necessary documentation updates?

  • No, this PR does not affect any public API so no need to change the documentation.

…n build

GitHub moved ubuntu-latest to the Ubuntu 26.04 image, which breaks two
workflows:

- Manual hooks: the image's default JDK is now 25. google-java-format
  1.15.0 (used by spotless) calls a javac internal API whose signature
  changed, so `mvn spotless:apply` fails with NoSuchMethodError on
  Log$DeferredDiagnosticHandler.getDiagnostics(). Set up JDK 17, the
  default on the previous image.
- Python build extension: actions/setup-python has no Python 3.8 or 3.9
  builds for Ubuntu 26.04, and requires-python is still >=3.8. Run the
  Linux leg on ubuntu-24.04.
@jiayuasu
jiayuasu requested a review from jbampton as a code owner October 22, 2026 06:36
@jiayuasu
jiayuasu merged commit 2b9f47e into apache:master Oct 22, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant