ci: restructure CI workflow to optimize SauceLabs usage and build times #2072
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.
Completely restructure the validation workflow to separate concerns and
respect SauceLabs concurrent session limits while maximizing parallelism.
New Job Structure
Key Improvements
Build once, use everywhere:
mvn clean install -DskipTestsoncegithub.run_idIndependent unit test execution:
mvn testseparately from integration testsOptimized integration tests:
mvn verify -DskipTests -pl <module> -am -P validation-DskipTestsskips unit tests (already ran in separate job)testsInParallel=5,forkCount=5SauceLabs concurrency control:
saucelabs-testbenchResource Utilization
Multiple PRs can run in parallel:
Performance benefits:
Maven Cache Strategy
Cache key includes
github.run_idfor per-workflow isolation:actions/cache@v4actions/cache/restore@v4actions/cache/restore@v4