[
https://issues.apache.org/jira/browse/CAMEL-23565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-23565.
---------------------------------
Fix Version/s: 4.21.0
Resolution: Fixed
> CI incremental-build should not test all modules when only the root pom.xml
> changes
> -----------------------------------------------------------------------------------
>
> Key: CAMEL-23565
> URL: https://issues.apache.org/jira/browse/CAMEL-23565
> Project: Camel
> Issue Type: Improvement
> Components: build system
> Reporter: Claus Ibsen
> Priority: Minor
> Fix For: 4.21.0
>
>
> PR #23364 adds a minor change to the root {{pom.xml}} (registering {{.cast}}
> and {{.tape}} file extensions with the license-maven-plugin). Despite the PR
> only touching files under {{dsl/camel-jbang/camel-jbang-plugin-tui/}} and the
> root {{pom.xml}}, the CI ends up testing *every* Camel module.
> *Root cause:*
> The incremental build script
> ({{.github/actions/incremental-build/incremental-build.sh}}) has two POM
> change detection paths:
> 1. *Grep-based detection* (line 528): correctly scoped — only triggers for
> {{parent/pom.xml}} changes, not root {{pom.xml}}.
> 2. *Scalpel detection* (line 568): triggers on *any* {{pom.xml}} change. When
> the root {{pom.xml}} changes, Scalpel compares effective POM models and
> detects that the {{license-maven-plugin}} configuration changed. Since every
> module inherits from the root POM, Scalpel reports all modules as affected.
> For non-functional root {{pom.xml}} changes like license plugin
> configuration, CI formatting rules, or other build-infrastructure-only
> settings, this is wasteful — no module's compilation, test, or runtime
> behavior is affected.
> *Fix:* Exclude the root {{pom.xml}} from Scalpel analysis — only run Scalpel
> when a subdirectory {{pom.xml}} ({{parent/pom.xml}}, module {{pom.xml}})
> changes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)