Skip to content

ci: fix incremental build to test dependents of test-infra modules#22514

Open
gnodet wants to merge 1 commit intoapache:mainfrom
gnodet:ci-fix/incremental-build-test-infra
Open

ci: fix incremental build to test dependents of test-infra modules#22514
gnodet wants to merge 1 commit intoapache:mainfrom
gnodet:ci-fix/incremental-build-test-infra

Conversation

@gnodet
Copy link
Copy Markdown
Contributor

@gnodet gnodet commented Apr 9, 2026

Summary

  • The incremental build script classified modules as "testable" (eligible for -amd dependent expansion) only when they had a src/test directory. Modules with only src/main — like all test-infra/* modules — were treated as "pom-only" and their dependents were never tested.
  • This meant changes to test infrastructure (e.g. container version bumps in test-infra/camel-test-infra-infinispan) never triggered integration tests in consuming modules like camel-infinispan.
  • Fix: check for src/main instead of src/test. Modules with source code trigger dependent testing; only true pom-only modules (parent, aggregator poms with no source) are excluded from -amd expansion.

Found while investigating #22316, where a container version bump passed CI without running any infinispan ITs.

Test plan

  • Verified test-infra/* modules have src/main but no src/test — correctly reclassified as testable
  • Verified parent and aggregator poms (e.g. components/camel-infinispan) have no src/main — still correctly classified as pom-only
  • Verified the fix doesn't affect modules with both src/main and src/test (standard components)

The incremental build script classified modules as "testable" only when
they had a src/test directory. Modules with only src/main (like
test-infra/* modules) were treated as pom-only and their dependents
were not tested with -amd. This meant changes to test infrastructure
(e.g. container version bumps) never triggered integration tests in
consuming modules like camel-infinispan.

Fix by checking for src/main instead of src/test. Modules with source
code should trigger dependent testing; only true pom-only modules
(parent, aggregator poms) should be excluded from -amd expansion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gnodet gnodet requested review from apupier and oscerd April 9, 2026 13:11
@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants