Skip to content

Conversation

@wks
Copy link
Collaborator

@wks wks commented Nov 26, 2025

When running tests using OpenJDK, including binding tests and performance tests, we use both the jdk-11 branch and the jdk-21 branch of the repo https://github.com/mmtk/mmtk-openjdk

Specifically, for binding tests, including both minimal tests and extended tests, we split OpenJDK 11 and OpenJDK 21 so that they are treated as two different bindings, and the CI will run tests for OpenJDK 11 and OpenJDK 21 in parallel.

For performance tests, we simply use the jdk-11 branch instead of the master branch. Since it points to the same branch as the current master, its behavior should not change.

When running tests using OpenJDK, including binding tests and
performance tests, we use the `jdk-21` branch of `mmtk/mmtk-openjdk`
which will be the actively maintained branch from now on.

TODO:

-   [ ] Put the identifier `jdk-21` in a single .yml file and let other
    `.yml` scripts include that file.
@wks wks added the PR-extended-testing Run extended tests for the pull request label Nov 26, 2025
@qinsoon
Copy link
Member

qinsoon commented Nov 27, 2025

Do you plan to directly switch to 21 in this PR? If so, testing for jdk-11 needs to be included, and we need to start a new epoch. I generally suggest doing it in two steps: 1. support correctness testing with both jdk-11 and jdk-21, and perf testing with 11, 2. switch perf testing to 21 and start a new epoch.

@wks
Copy link
Collaborator Author

wks commented Nov 27, 2025

Do you plan to directly switch to 21 in this PR? If so, testing for jdk-11 needs to be included, and we need to start a new epoch. I generally suggest doing it in two steps: 1. support correctness testing with both jdk-11 and jdk-21, and perf testing with 11, 2. switch perf testing to 21 and start a new epoch.

Yes. I am currently testing whether OpenJDK 21 passes the tests, and from the result we see both minimal tests and extended tests passed.

The next step is letting it test against both jdk-11 and jdk-21.

@wks wks changed the title Let CI use OpenJDK 21 Let CI use both OpenJDK 11 and OpenJDK 21 Nov 27, 2025
wks added 2 commits November 27, 2025 18:14
We keep jdk-11 as default for now, and then move on to jdk-21.
@wks
Copy link
Collaborator Author

wks commented Nov 28, 2025

Both minimal tests and extended tests for OpenJDK 11 and OpenJDK 21 finished independently. OpenJDK 21 took longer to finish. Individual benchmarks run slightly slower, but since it is fastdebug, this is OK. Another factor that has greater impact on CI time is compiling OpenJDK itself. OpenJDK 21 took longer to compile than OpenJDK 11.

I'll need to change the ready-to-merge criteria so that it refers to "extended-tests-openjdk11" and "extended-tests-openjdk21", separately.

@wks wks marked this pull request as ready for review November 28, 2025 07:25
Reference "extended-tests-openjdk11" and "extended-tests-openjdk21",
separately.
@wks
Copy link
Collaborator Author

wks commented Nov 28, 2025

The 'ready-to-merge' check passed before extended tests finish. This is the desired behavior.

@wks wks requested a review from qinsoon December 1, 2025 03:39
Copy link
Member

@qinsoon qinsoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@wks wks enabled auto-merge December 1, 2025 03:54
@wks wks added this pull request to the merge queue Dec 1, 2025
Merged via the queue into mmtk:master with commit 76ef95a Dec 1, 2025
33 of 35 checks passed
@wks wks deleted the update/openjdk-21-ci branch December 1, 2025 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR-extended-testing Run extended tests for the pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants