Skip to content

Speed up the integration tests - #1411

Merged
slachiewicz merged 2 commits into
masterfrom
agent/it-jvm-options
Oct 10, 2026
Merged

slachiewicz merged 2 commits into
masterfrom
agent/it-jvm-options

Conversation

@slachiewicz

@slachiewicz slachiewicz commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Each IT is a separate Maven run of a few seconds (278 runs for 249 ITs), so the time goes to JVM startup, and Windows ran them one at a time.

  • The forked IT builds start with -XX:TieredStopAtLevel=1 -XX:+UseSerialGC through JAVA_TOOL_OPTIONS. It is set as an invoker environment variable because 52 ITs set their own invoker.mavenOpts, which replaces a global mavenOpts. Both flags exist on JDK 8.
  • The windows profile that forced invoker.parallelThreads=1 is removed. It came with Build ITs in parallelย #1088 in 2024 without a record of which ITs failed in parallel; none fail in parallel now.

<debug>true</debug> stays: turning it off made no measurable difference. Caching target/local-repo would not help either: it is 55 MB, and in CI the first ITs are no slower than the rest.

Results on master, the run before this change and the run after it:

Before After
Jobs 17 17
Job-minutes 226 131
Slowest job (Windows) 28.6 min 14.0 min
Slowest Ubuntu job 15.0 min 8.7 min
Slowest macOS job 11.0 min 9.7 min

Verified: mvn -P run-its verify on 69 ITs (Linux, Maven 3.9.16, JDK 21, one thread) โ†’ 258 s of IT time before, 176 s after; full suite โ†’ Passed: 246, Failed: 0, Errors: 0, Skipped: 1.

slachiewicz and others added 2 commits October 10, 2026 08:25
Each IT is a Maven run of a few seconds, where C2 compilation and the
parallel GC cost more startup time than they save.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The serial Windows profile dates from 2024, with no record of which ITs
failed in parallel, and made the Windows jobs with Maven 4 hit the old
30-minute timeout. If an IT breaks here, fix or isolate that IT rather
than restoring the profile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Pull requests that change the build process performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant