Claus Ibsen created CAMEL-23565:
-----------------------------------

             Summary: 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


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)

Reply via email to