Add Scalpel for incremental CI builds#528
Merged
jamesnetherton merged 1 commit intoJun 19, 2026
Merged
Conversation
Registers Scalpel as a Maven core extension (disabled locally by default
via .mvn/maven.config) and wires it into the CI pipeline so that pull
requests only build and test the modules affected by their changeset.
Changes:
- .mvn/extensions.xml: register eu.maveniverse.maven.scalpel:extension:0.3.4
- .mvn/maven.config: disable Scalpel by default (-Dscalpel.enabled=false)
- .github/workflows/ci-build.yaml:
- Generate a Scalpel report during the examples build (mode=report,
reportFile written outside target/ so clean does not delete it)
- Fetch the PR base branch before the build so Scalpel can find the
merge base in the shallow CI clone
- Skip the fetch (and fall back to a full build) when the PR carries
the ci/disable-incremental label
- Replace the Groovy-based matrix with generate-test-matrix.sh
- Add 'modules' output consumed by JVM and Windows test jobs via -pl
- .github/generate-test-matrix.sh: new script replacing
generate-test-groups.groovy; reads the Scalpel JSON report, distributes
single-module projects round-robin across up to 10 native test groups,
gives multi-module projects a dedicated group, and expands multi-module
paths for the -pl modules list
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Contributor
Author
|
I did some testing on my fork and it was working as expected. If we hit issues post merge we can either fix forwards or roll the change back. |
zbendhiba
approved these changes
Jun 18, 2026
e10cd3a
into
apache:camel-quarkus-main
27 of 28 checks passed
Contributor
Author
|
I'll merge this, then follow up with a PR for testing. Can't test in this PR, because Scalpel considers the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Registers Scalpel as a Maven core extension (disabled locally by default via .mvn/maven.config) and wires it into the CI pipeline so that pull requests only build and test the modules affected by their changeset.
Changes: