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]
