Skip to content

[DO NOT MERGE] test: Scalpel shadow — kafka-version 4.3.1→4.3.0#24335

Draft
gnodet wants to merge 6 commits into
apache:mainfrom
gnodet:test-scalpel-kafka
Draft

[DO NOT MERGE] test: Scalpel shadow — kafka-version 4.3.1→4.3.0#24335
gnodet wants to merge 6 commits into
apache:mainfrom
gnodet:test-scalpel-kafka

Conversation

@gnodet

@gnodet gnodet commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Test PR for validating the Scalpel shadow comparison in #22524.

Bumps kafka-version 4.3.1 → 4.3.0 to trigger Scalpel's managed dependency detection. Kafka is consumed via <dependencyManagement>, which grep-based detection misses entirely — Scalpel should find the affected modules.

Do not merge — close after CI validates the shadow comparison section.

Claude Code on behalf of @gnodet

gnodet and others added 4 commits June 26, 2026 13:10
Add a shadow comparison section to CI PR comments showing what
Maveniverse Scalpel's skip-tests mode would have tested — without
affecting actual test execution.

Changes:
- incremental-build.sh: configure Scalpel with skipTestsForDownstreamModules
  and fetchBaseBranch=false, add writeScalpelComparison() for collapsible
  PR comment section with failure reporting
- pr-build-main.yml / sonar-build.yml: add base branch fetch step for
  Scalpel's merge-base detection in shallow CI clones, restore checkout v7
- CI-ARCHITECTURE.md: document shadow comparison approach and configuration
- Scalpel upgraded to 0.3.7: fixes inflated affectedModules count for
  parent POM property changes (scalpel#39) and skipTestsForDownstreamModules
When a matrix build has one JDK failing and another cancelled, the
cancelled JDK's cleanup steps upload a ci-comment artifact without
the comment file, overwriting the failed JDK's artifact that had it.

Only upload the ci-comment artifact when incremental-test-comment.md
actually exists, preventing a cancelled build from clobbering a
completed build's comment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Scalpel's auto-detection of GITHUB_BASE_REF via Maven system properties
(env.GITHUB_BASE_REF) is fragile — it can fail in CI rerun contexts or
with certain Maven wrapper configurations, causing the report to silently
not be generated.

Fix: always pass -Dscalpel.baseBranch=origin/${GITHUB_BASE_REF:-main}
explicitly. Also add a git merge-base pre-check and improved diagnostics
(tail of Scalpel log, broader grep) when the report is not found.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Instead of a fixed --depth=200 fetch that can miss the merge base
for long-lived or stale branches, try 200 → 1000 → unshallow until
git merge-base succeeds. Most PRs resolve at depth 200 (no extra
cost); only old branches need the deeper fetches.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

🌟 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

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • parent

POM dependency changes: targeted tests included

Changed properties: kafka-version

Modules affected by dependency changes (3)
  • :camel-kafka
  • :camel-ibm-secrets-manager
  • :camel-debezium-common

🔬 Scalpel shadow comparison — compile: +43, test: +14

Maveniverse Scalpel detected 46 affected modules via effective POM comparison (vs 3 from grep-based detection).

Changed properties: kafka-version

Skip-tests mode would test 17 modules (3 direct + 14 downstream), skip tests for 29 (generated code, meta-modules)

Modules Scalpel would test (17)
  • camel-debezium-common
  • camel-debezium-db2
  • camel-debezium-mongodb
  • camel-debezium-mysql
  • camel-debezium-oracle
  • camel-debezium-postgres
  • camel-debezium-sqlserver
  • camel-ibm-secrets-manager
  • camel-jbang-mcp
  • camel-jbang-plugin-mcp
  • camel-jbang-plugin-route-parser
  • camel-jbang-plugin-tui
  • camel-jbang-plugin-validate
  • camel-kafka
  • camel-launcher-container
  • camel-yaml-dsl-validator
  • camel-yaml-dsl-validator-maven-plugin
Modules with tests skipped (29)
  • apache-camel
  • camel-allcomponents
  • camel-catalog
  • camel-catalog-console
  • camel-catalog-lucene
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-csimple-maven-plugin
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more

All tested modules (48 modules)
  • Camel :: All Components Sync point
  • Camel :: Assembly
  • Camel :: Catalog :: CSimple Maven Plugin (deprecated)
  • Camel :: Catalog :: CSimple Maven Plugin (deprecated) SUCCESS
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Catalog :: Camel Report Maven Plugin
  • Camel :: Catalog :: Camel Route Parser
  • Camel :: Catalog :: Console
  • Camel :: Catalog :: Dummy Component
  • Camel :: Catalog :: Lucene (deprecated)
  • Camel :: Catalog :: Maven
  • Camel :: Catalog :: Suggest
  • Camel :: Component DSL
  • Camel :: Coverage
  • Camel :: Debezium :: Common
  • Camel :: Debezium :: DB2
  • Camel :: Debezium :: MongoDB
  • Camel :: Debezium :: MySQL
  • Camel :: Debezium :: Oracle
  • Camel :: Debezium :: PostgreSQL
  • Camel :: Debezium :: SQL Server
  • Camel :: Docs
  • Camel :: Endpoint DSL
  • Camel :: Endpoint DSL :: Support
  • Camel :: IBM :: Secrets Manager
  • Camel :: Integration Tests
  • Camel :: JBang :: Core
  • Camel :: JBang :: Integration tests
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Main
  • Camel :: JBang :: Plugin :: Edit
  • Camel :: JBang :: Plugin :: Generate
  • Camel :: JBang :: Plugin :: Kubernetes
  • Camel :: JBang :: Plugin :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Testing
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Kafka
  • Camel :: Kamelet Main
  • Camel :: Launcher
  • Camel :: Launcher :: Container
  • Camel :: Parent
  • Camel :: YAML DSL
  • Camel :: YAML DSL :: Deserializers
  • Camel :: YAML DSL :: Maven Plugins
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

gnodet and others added 2 commits June 30, 2026 09:31
Move all Scalpel-related output below a separator line at the end of
the CI comment, with a one-line diff summary showing what Scalpel
would add/remove vs the current grep-based detection (e.g.
"compile: +51, test: +22"). The top section now shows only what the
existing grep mechanism found, making it easy to see what each
approach contributes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gnodet gnodet force-pushed the test-scalpel-kafka branch from ee5f9c0 to 33f7b6c Compare June 30, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant