gnodet commented on PR #22247:
URL: https://github.com/apache/camel/pull/22247#issuecomment-4138133767

   ## Fork Testing Report
   
   _Claude Code on behalf of Guillaume Nodet_
   
   Ran manual tests on `gnodet/camel` fork using `workflow_dispatch` to 
validate the CI changes in this PR. Three scenarios were tested:
   
   ### Test 1: Component file change detection ✅
   **Run:** 
[23613433728](https://github.com/gnodet/camel/actions/runs/23613433728) — **All 
3 JDKs passed**
   
   Changed `components/camel-http/HttpComponent.java` and verified:
   - ✅ File-path analysis correctly detected `components/camel-http`
   - ✅ Dependent module count (88) correctly exceeded threshold (50) → tested 
only affected module
   - ✅ Full regen.sh build + incremental test pipeline completed successfully
   - ✅ CI comment artifact uploaded correctly
   
   ### Test 2: Parent POM dependency detection ✅ (script worked, tests failed)
   **Run:** 
[23613434374](https://github.com/gnodet/camel/actions/runs/23613434374) — **JDK 
21 failed (test failures)**
   
   Changed `jetty-version` property comment in `parent/pom.xml` and verified:
   - ✅ POM dependency analysis correctly detected `jetty-version` property 
change
   - ✅ Found all 8 modules referencing `${jetty-version}`: camel-undertow, 
camel-cometd, camel-platform-http, camel-jetty-common, 
camel-salesforce-maven-plugin, camel-salesforce, camel-jetty, camel-thymeleaf
   - ✅ Correctly identified `parent` as pom-only module (no src/test, won't 
expand dependents)
   - ❌ Actual test failures in detected modules (expected — these are real 
component tests that can fail independently)
   
   ### Test 3: skip_full_build + extra_modules (`/component-test` path) ✅ 
(script worked, tests failed)
   **Run:** 
[23615655184](https://github.com/gnodet/camel/actions/runs/23615655184) — **JDK 
17/25 failed (test failures)**
   
   Dispatched with `skip_full_build=true` and 
`extra_modules=components/camel-direct`:
   - ✅ Quick dependency build used instead of regen.sh
   - ✅ Extra modules correctly merged with file-path detected modules
   - ✅ Dependent module count correctly calculated as 24 (< 50 threshold) → 
tested all dependents
   - ❌ Actual test failures in dependent modules (expected)
   
   ### Bugs Found and Fixed
   
   1. **Pipefail bug in dependent count** (line 448): When `./mvnw` returns 
non-zero, `pipefail` causes the `|| echo "0"` fallback to append "0" to the `wc 
-l` output, producing values like `"24\n0"` that break the `[[ -gt ]]` 
comparison. Fixed by using `|| true` and extracting the last line.
   
   2. **Hardcoded `github-repo` default**: The `action.yaml` had `default: 
'apache/camel'` instead of `default: ${{ github.repository }}`. This prevented 
the script from fetching PR diffs on forks. Fixed to use `${{ github.repository 
}}`.
   
   Both fixes are included in commit b9e4fd7594c4.
   
   ### Summary
   
   All three code paths in `incremental-build.sh` are working correctly:
   - **File-path detection** → identifies changed modules from PR diff
   - **POM dependency detection** → finds modules affected by parent POM 
property changes
   - **Extra modules merging** → correctly adds `/component-test` modules to 
the test set
   - **skip_full_build** → correctly uses quick build instead of regen.sh
   - **Dependent module threshold** → correctly counts and applies the 
50-module limit
   - **CI comment artifact** → uploaded correctly for the commenter workflow
   
   The test failures (exit code 1) in Tests 2 and 3 are from actual Camel 
component tests, not from the CI script itself.


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