Skip to content

FIX-292: Reuse eight test workers and avoid repeated build phases - #360

Draft
peter-lawrey wants to merge 3 commits into
developfrom
feature/FIX-292-eight
Draft

peter-lawrey wants to merge 3 commits into
developfrom
feature/FIX-292-eight

Conversation

@peter-lawrey

@peter-lawrey peter-lawrey commented Sep 20, 2026

Copy link
Copy Markdown
Member

Run eligible tests in up to eight reused worker JVMs, with a serial/fresh fallback and unchanged discovery, assertions, failure policy and dependencies. 23 classes use the ordinary pool. Three classes remain serial/fresh: BlockingEventLoopShutdownTest after an observed reverse-order shutdown warning, and LongPauserTest plus YieldingPauserTest after timing assertions failed on both Zing 8 and 11. The final split is checked in both class orders; isolation does not diagnose or repair the underlying failures.

Use non-forking source-JAR goals at package so Maven does not repeat earlier lifecycle phases. Preserve the existing main/test source classifiers, plugin versions and normal validation checks. Production and test sources are unchanged.

Validation on Linux/OpenJDK 21 with a pinned private Maven cache: clean verify and the CI named-goal route both retain all 248 cases, including 1 existing skips, with no failures, errors or reruns in the final qualified runs. Case identities and execution partitions match the original suite; actual worker processes/reuse are recorded. Runtime, resource and source archive contents are unchanged, apart from embedded POM metadata and generated timestamps.

mvn -T1 clean verify
mvn -T1 -Dbuild-all=true surefire:test@default-test surefire:test@serial-tests

-Ptest-serial retains full serial/fresh coverage. Explicit -Dtest and bare surefire:test remain conservative debug routes. TeamCity draft #175 wires the named executions into a manual branch pilot and provides matched four/eight-worker controls; the old bare-Surefire Build-All step does not activate this split. A whole-CI speedup is not yet measured.

These are local qualification results. New-head CI and platform results remain review gates; previous-head failures are not treated as fixed by this configuration change.

The Zing failures are recorded in Java 11 build 1365949 and Java 8 build 1365950. The three-class split preserves the complete suite locally; new platform results are still required.

@peter-lawrey peter-lawrey changed the title FIX-292: Split tests between eight workers and serial exceptions FIX-292: Reuse eight test workers and avoid repeated build phases Sep 20, 2026
@sonarqubecloud

Copy link
Copy Markdown

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