[DO NOT MERGE] Test Scalpel shadow comparison — kafka-version bump#24250
[DO NOT MERGE] Test Scalpel shadow comparison — kafka-version bump#24250gnodet wants to merge 10 commits into
Conversation
Add a shadow comparison section to CI PR comments showing what Scalpel's skip-tests mode would have tested, without affecting actual test execution. This validates Scalpel's module detection across many PRs before switching to Scalpel-driven test execution. Changes: - incremental-build.sh: switch from GitHub API diff to local git merge-base, configure Scalpel with skipTestsForDownstreamModules and fetchBaseBranch=false, add writeScalpelComparison() for collapsible PR comment section - pr-build-main.yml / sonar-build.yml: add base branch fetch step for Scalpel's merge-base detection in shallow CI clones - CI-ARCHITECTURE.md: document shadow comparison approach and configuration
The checkout action was accidentally downgraded from v7.0.0 to v6.0.2, and persist-credentials: false was dropped from sonar-build.yml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ION_LIST Restore fetchDiff() to use the GitHub API (unchanged from main) instead of local git merge-base. The grep-based script has no dependency on local git history — only Scalpel needs it. This eliminates regression risk for the existing incremental build path. Also derive skip_downstream from EXCLUSION_LIST via sed instead of hardcoding a duplicate list that could silently diverge. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When Scalpel fails (mvn validate error, missing report due to shallow clone depth, or full-build trigger), surface the reason in the PR comment's shadow comparison section instead of silently omitting it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
757b653 to
f2e1a15
Compare
f2e1a15 to
6bfb1fc
Compare
|
🧪 CI tested the following changed modules:
✅ POM dependency changes: targeted tests included Changed properties: kafka-version Modules affected by dependency changes (45)
🔬 Scalpel shadow comparison (skip-tests mode)Scalpel skip-tests mode would test 16 modules (3 direct + 13 downstream) 29 downstream module(s) would have tests skipped (generated code, meta-modules) Modules Scalpel would test (16)
Modules with tests skipped (29)
All tested modules (47 modules)
|
Scalpel 0.3.5 still includes ~600 uncategorized parent-inherited modules in affectedModules (scalpel#39, regression from apache#30 fix). Filter jq queries to only DIRECT and DOWNSTREAM categories, and compute the summary count from the breakdown rather than the inflated total. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6bfb1fc to
fb35e5b
Compare
…ules" This reverts commit 7da4738.
Fixes inflated affectedModules count — parent-inherited modules that don't use the changed dependency are no longer included (scalpel#39). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fb35e5b to
8b233a6
Compare
… boolean (#42) Two fixes for issues observed in CI (apache/camel#24250): 1. .mvn/ files (extensions.xml, maven.config) are Maven build infrastructure, not module source. When fullBuildTriggers is overridden to exclude .mvn/**, these files were still mapped to the root module as SOURCE_CHANGE, causing ALL reactor modules to cascade as DOWNSTREAM (670 instead of 45). 2. The report JSON had testsSkippedReason (string) but no testsSkipped (boolean). CI scripts using jq '.testsSkipped == true' found 0 matches because the field did not exist — only testsSkippedReason was present. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Fixes inflated affectedModules count where parent POM property changes (e.g. kafka-version) were reported as affecting all ~670 modules. Also fixes skipTestsForDownstreamModules not taking effect. See maveniverse/scalpel#39 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…mparison Temporary POM change to trigger Scalpel's shadow comparison on CI. This PR validates that the Scalpel shadow section renders correctly in the PR comment and detects downstream modules that grep misses. This PR should be closed without merging once validated. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This PR changes .mvn/extensions.xml (Scalpel version upgrade) which would cause Scalpel to see all modules as affected. Exclude .mvn/** from diff analysis so we only test the kafka-version change. Test-only change — not intended for merge. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8b233a6 to
4f16a1e
Compare
|
Closing — validated Scalpel 0.3.7 shadow comparison successfully. Creating fresh test PRs with clean CI history. Claude Code on behalf of @gnodet |
DO NOT MERGE — test PR
This PR validates the Scalpel shadow comparison feature from PR #22524.
What this tests
kafka-versionfrom 4.3.1 to 4.3.0 inparent/pom.xml(a managed dependency change)${kafka-version}— Scalpel should additionally detect downstream modules that transitively depend on kafka through Maven's dependency graphExpected outcome
The CI PR comment should include a collapsible "Scalpel shadow comparison" section showing:
Cleanup
Close this PR without merging once the CI result has been validated.
Claude Code on behalf of Guillaume Nodet