Skip to content

Conversation

@xerial
Copy link
Owner

@xerial xerial commented Nov 24, 2025

Summary

  • Add JDK 25 (LTS) to CI test matrix
  • Remove JDK 24 (non-LTS)
  • Configure native access flag for JDK 24+ tests

Details

This PR updates the CI workflow to test on JDK 25 and properly handle the native access requirements introduced in JEP 472.

Changes

  1. Updated test matrix: Replaced JDK 24 with JDK 25
    • Now testing: JDK 8, 11, 17, 21, 25 (all LTS versions)
  2. Added native access flag: Tests running on JDK 24+ now use --enable-native-access=ALL-UNNAMED

Why JDK 25 instead of JDK 24?

JDK 25 is an LTS release, while JDK 24 is not. Testing on LTS versions ensures better long-term compatibility.

Why the _JAVA_OPTIONS flag?

As documented in #702, snappy-java uses JNI to load native libraries. JDK 24+ requires the --enable-native-access=ALL-UNNAMED flag per JEP 472. Setting this in CI ensures our tests run cleanly on newer JDKs.

Test plan

  • CI configuration syntax is valid
  • Tests will run on JDK 25 without warnings
  • Existing JDK 8, 11, 17, 21 tests remain unaffected

Related to #689

🤖 Generated with Claude Code

Update CI to test on JDK 25 (LTS) and remove JDK 24 (non-LTS).

Changes:
- Replace JDK 24 with JDK 25 in test matrix
- Add --enable-native-access=ALL-UNNAMED flag for JDK 24+ tests
- This ensures native library loading works correctly per JEP 472

The CI now tests on: JDK 8, 11, 17, 21, 25 (all LTS versions plus latest)

Related to #689

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@gemini-code-assist
Copy link
Contributor

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

@xerial xerial merged commit 3e32cbb into main Nov 24, 2025
9 checks passed
@xerial xerial deleted the add-jdk-25-ci-tests branch November 24, 2025 17:51
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