Skip to content

ci: add Scalpel 0.3.0 shadow comparison alongside grep-based detection#22524

Draft
gnodet wants to merge 1 commit intoapache:mainfrom
gnodet:worktree-scalpel-skip-tests
Draft

ci: add Scalpel 0.3.0 shadow comparison alongside grep-based detection#22524
gnodet wants to merge 1 commit intoapache:mainfrom
gnodet:worktree-scalpel-skip-tests

Conversation

@gnodet
Copy link
Copy Markdown
Contributor

@gnodet gnodet commented Apr 9, 2026

Summary

Upgrade Maveniverse Scalpel from extension3:0.1.0 to extension:0.3.0 and run it in shadow mode — observing what skip-tests mode would do without affecting actual test execution.

This allows validating Scalpel's decisions across many PRs before switching to Scalpel-driven test execution in a follow-up PR.

Changes

  • Scalpel 0.3.0: Upgrade with two new features:
    • Source-set-aware propagation (test-jar vs regular dependents)
    • skipTestsForDownstreamModules (mirrors EXCLUSION_LIST)
  • CI workflow: Pre-fetch base branch for Scalpel merge-base detection, remove persist-credentials: false (needed for git fetch)
  • Shadow comparison: Add collapsible section in PR comments showing what Scalpel skip-tests mode would have tested
  • Documentation: Update CI-ARCHITECTURE.md with shadow comparison details

How it works

  1. Existing grep-based + Scalpel report detection continues to drive actual test execution (no change)
  2. Scalpel 0.3.0 additionally computes what skip-tests mode would do (with skipTestsForDownstreamModules matching the current EXCLUSION_LIST)
  3. The PR comment gets a collapsible "Scalpel 0.3.0 shadow comparison" section showing:
    • How many modules Scalpel would test (direct + downstream)
    • Which downstream modules would have tests skipped
    • Full module lists for review

Risk

Zero — Scalpel runs in report mode only. Test execution is completely unchanged. If Scalpel fails, the script falls back gracefully with no impact.

Claude Code on behalf of Guillaume Nodet

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

ℹ️ CI did not run targeted module tests.


⚙️ View full build and test results

@gnodet gnodet marked this pull request as draft April 9, 2026 23:37
Upgrade Scalpel from extension3:0.1.0 to extension:0.3.0 and run it in
shadow mode — observing what skip-tests mode would do without affecting
actual test execution. This allows validating Scalpel's decisions across
many PRs before switching to Scalpel-driven test execution.

Changes:
- Upgrade Scalpel to 0.3.0 with source-set-aware propagation and
  skipTestsForDownstreamModules support
- Pre-fetch base branch in CI workflow (avoids JGit issues in shallow clones)
- Remove persist-credentials: false (needed for git fetch operations)
- Add shadow comparison section to PR comments showing what Scalpel
  skip-tests mode would have tested vs the current approach
- Update CI-ARCHITECTURE.md with shadow comparison documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gnodet gnodet force-pushed the worktree-scalpel-skip-tests branch from 77a5579 to 1834e34 Compare April 10, 2026 10:16
@gnodet gnodet changed the title ci: use Scalpel skip-tests mode for single-invocation CI builds ci: add Scalpel 0.3.0 shadow comparison alongside grep-based detection Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant