Parallelize GitHub Action tests via a customTest task #8317
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Now that we're supporting 18 months of versions on Java 21, the test times are getting overly long since it's all a single action (7+ minutes).
Solution
This pulls from experiments done in #8254 and adds a test task (customTest) that runs tests based on provided properties rather than hardcoded values. This allows the github action parallelize-tests to create a matrix of test environments split over N actions, which then runs a subset of the total environments. Given each test takes about 60s, plus the initial build that takes 30s, this cuts runtime for 8 versions from 8:30 to 3:30 if split 3 ways, or 2:30 if split 4. I've chosen split 3 ways to not clog up the check tab too much.
Also added 1.21.1 test env for full coverage
Testing Completed
Manual confirmation of the customTest task working, plus the check tab of this pr
Supporting Information
Completes: none
Related: none
AI assistance: none