gnodet opened a new pull request, #21899:
URL: https://github.com/apache/camel/pull/21899

   ## Summary
   
   Remove `-DskipITs` from the incremental build script so that integration 
tests (failsafe) run alongside unit tests (surefire) during PR CI builds.
   
   ## Motivation
   
   Currently, the incremental build in `pr-build-main.yml` always passes 
`-DskipITs`, which means integration tests are **never** exercised during PR 
CI. This creates a blind spot, particularly for:
   
   - **Container version upgrade PRs** (e.g., bumping Ollama, Neo4j, Weaviate 
images in `test-infra/`): the whole point of these PRs is to verify 
compatibility with a new container version, but the ITs that spin up and test 
against these containers are skipped. These PRs are effectively merged untested.
   - **Component changes** that may break integration behavior while unit tests 
still pass.
   
   ## Why this is safe
   
   The incremental build script already has guards that prevent runaway CI:
   
   | Scenario | What happens | Impact of this change |
   |---|---|---|
   | Root pom / `buildAll=true` | Tests are **completely skipped** (line 140: 
"Cannot launch the tests of all projects") | **None** — no tests run at all |
   | Core module change (>50 dependents) | Only the directly changed modules 
are tested (no `-amd`) | ITs run on just the core module — typically very few 
or none |
   | Typical component PR (<=50 dependents) | Changed modules + dependents 
tested with `-amd` | ITs run on the affected component and its dependents |
   | >100 affected projects | Falls back to `buildAll=true` | **None** — no 
tests run |
   
   The `maxNumberOfTestableProjects=50` cap ensures that ITs never run on more 
than ~50 modules, which keeps CI time bounded.
   
   ## Trade-offs
   
   - **CI time may increase** for component PRs where ITs exist. Most 
components have 0-5 IT tests, so the overhead is typically small (a few 
minutes).
   - **Flaky ITs** (e.g., container startup timeouts) may occasionally cause CI 
failures. However, this is valuable signal — if an IT is consistently flaky, it 
should be fixed or marked `@Disabled`.
   
   ## What changes
   
   - `.github/actions/incremental-build/incremental-build.sh`: Remove 
`-DskipITs` from both test execution paths (direct modules and modules + 
dependents).
   
   The `full` profile in `components/pom.xml` (active when `!quickly`) already 
binds failsafe's `integration-test` and `verify` goals to `mvn install`. 
Removing `-DskipITs` is all that's needed to enable them.


-- 
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]

Reply via email to