ci: run Scalpel shadow comparison for all PRs, add depth=50 step - #24368
Conversation
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
fb3b4c6 to
59b6a89
Compare
Run Scalpel shadow comparison for all PRs, not just those changing pom.xml. Scalpel detects source file changes (SOURCE_CHANGE, TEST_CHANGE) and distinguishes test-only changes — comparing it against the grep-based approach on every PR builds confidence for a future switch to Scalpel-driven builds. Also add depth=50 as the first deepening step so recent PRs avoid the cost of fetching 200 commits upfront. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
59b6a89 to
7884e28
Compare
oscerd
left a comment
There was a problem hiding this comment.
LGTM. Low-risk CI change, and the trust model is sound: on: pull_request (not pull_request_target), permissions: contents: read, persist-credentials: false, and no untrusted PR input is interpolated into run: steps — comment posting is offloaded to a separate workflow_run. CI-ARCHITECTURE.md is updated and matches the code. Scalpel already runs on main; this only widens when it's invoked, and it's defensively coded (guards merge-base reachability, catches mvn validate failure, never fails the build).
Two small non-blocking notes:
- The step-2b comment calls this "shadow mode … does not affect actual test execution," but step 2c unions
scalpel_module_idsintodep_module_ids, which drives the real-plbuild. The effect is conservative — it only adds modules, never removes, so it can't cause under-testing — but the wording could mislead a future maintainer. - Dropping the
grep … pom.xmlgate partially relaxes CAMEL-23565 / #23371 (root-pom-only PRs will now run Scalpel and may enlarge the tested set). This looks intentional given the "build confidence for a future switch" goal — a one-line acknowledgement that it relaxes #23371 would help the next reader.
Reviewed with Claude Code on behalf of Andrea Cosentino. This review was generated by an AI agent and may contain inaccuracies; please verify all suggestions before applying.
Summary
pom.xml. Scalpel detects source file changes (SOURCE_CHANGE,TEST_CHANGE) and distinguishes test-only changes from main source changes, building confidence for a future switch to Scalpel-driven builds.50 → 200 → 1000 → full.-amd), not just grep POM. Show modules each approach finds that the other misses.SUCCESS/FAILUREattached to the name → duplicates in the "All tested modules" list.One-line summary format
The Scalpel shadow comparison now shows:
This tells reviewers at a glance: Scalpel would only run tests on 10 modules instead of 39, skipping tests for 29 meta/generated modules while still compiling them.
Changes
pr-build-main.yml50 → 200 → 1000 → full(was200 → 1000 → full)incremental-build.shpom.xmlcondition — Scalpel runs for every PR. Fix comparison to use full reactor. Fix reactor name parsing.CI-ARCHITECTURE.mdTest plan
Claude Code on behalf of Guillaume Nodet
🤖 Generated with Claude Code