anton-vinogradov opened a new pull request, #13281: URL: https://github.com/apache/ignite/pull/13281
## [IGNITE-28823](https://issues.apache.org/jira/browse/IGNITE-28823) The `check-java` job in `commit-check.yml` is the long pole of the "Code Style, Abandoned Tests, Javadocs" workflow (~8.9 min; every other job in the workflow finishes in under a minute). It runs three sequential Maven invocations and has two inefficiencies: 1. The build is single-threaded (no `-T`), although `ubuntu-latest` has 4 vCPUs. 2. The "abandoned tests" step recompiles the whole reactor a second time. `maven-compiler-plugin` 3.15 logs *"Recompiling the module because of changed dependency"* for 28 modules (including `ignite-core`, 3322 source files): the second invocation uses a different profile set, so the plugin's incremental engine treats reactor dependencies as changed and cascades a full recompile. ### Change - `-T 1C` on the codestyle / `test-compile` step — parallel reactor build. - `-Dmaven.compiler.useIncrementalCompilation=false` on the "abandoned tests" step — reuse the classes compiled by the previous step instead of recompiling. The "abandoned tests" step is intentionally **not** parallelized: the orphaned-test collection writes to a shared file finalized by the last reactor module, so `-T` would race. ### Why not merge the two steps Merging would pull `examples` / `lgpl` modules into the orphaned-test check (today it runs only over `-Pall-java,scala`) and could newly fail it. The chosen flag keeps the check scope identical — profile-conditional source roots (`java-lgpl`) exist only in the `examples` module, which is not part of the "abandoned tests" reactor. ### Verification (local, full reactor) | | before | after | |---|---|---| | step 2 recompiled modules | 30 (28 "changed dependency") | 2 (0 "changed dependency") | | step 1 under `-T 1C` | — | 47 modules SUCCESS, checkstyle incl., 0 failures | The before/after wall-clock is visible on this PR's own CI run, since the change is to `commit-check.yml` itself. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
