Repository navigation
FELIX-6870 - Run the integration tests against the code being built - #573
Open
paulrutter wants to merge 2 commits into
Open
paulrutter wants to merge 2 commits into
paulrutter wants to merge 2 commits into
Conversation
Modules across the repository pin released Felix sibling bundles as dependencies of their tests, so pax-exam and the bnd resolver exercise released artifacts instead of the code in this repository. Regressions introduced here can therefore pass CI unnoticed, which is how the FilterImpl.WrapperCapability bug fixed in FELIX-6869 survived on master. Every such pin becomes a property that still defaults to the latest release, so each module keeps building on its own. CI now builds and installs a producing module whenever it or one of its consumers changed, and overrides the property with the version built here: framework -> configadmin, scr, http, gogo configadmin -> scr utils -> resolver gogo bundles -> gogo itest-shell, itest-jline, jline The two gogo itest modules took their versions from an imported BOM that pins released bundles, so they resolved against none of the code in this repository; they now carry explicit, overridable versions. http/itest kept a 7.0.5 framework pin that FELIX-6869 missed. The step that resolves the versions evaluates the gogo modules inside the gogo reactor, because gogo-parent is not published anywhere. framework.security is left pinned: it is no longer built here (removed in the 8.0.0 framework line, FELIX-6807) and its only consumer, ConfigAdminSecurityTest, is excluded. ipojo is left alone, since its removal is already proposed separately. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
27 was taken out again in d347835 because Aries SpiFly 1.3.7 bundles ASM 9.6, which rejects class file major version 71, so its weaving hook threw for every class and Jetty never finished starting. FELIX-6869 since provisions ASM 9.10.1 alongside the SpiFly bundle, which does know version 71, so the blocker should be gone. The framework and the TCK already passed on 27 when that was checked separately. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Fixes FELIX-6870.
Stacked on #433, so it targets
feature/FELIX-6759-Java-25-LTSrather thanmaster. See Why not master below.The problem
Modules across the repository pin released Felix sibling bundles as dependencies of their tests, so pax-exam and the bnd resolver exercise released artifacts instead of the code in this repository. A regression introduced here can pass CI unnoticed — which is exactly how the
FilterImpl.WrapperCapabilitybug fixed in #554 survived on master until the HTTP tests were pointed at the local build in #571.The change
Every such pin becomes a property that still defaults to the latest release, so each module keeps building on its own. CI builds and installs a producing module whenever it or one of its consumers changed, and overrides the property with the version built here:
frameworkconfigadmin,scr,http,gogoitestsconfigadminscrutilsresolvergogobundlesgogo/jline,itest-shell,itest-jlineTwo findings beyond the original survey:
http/iteststill pinned framework 7.0.5 — missed by FELIX-6869 - Run the HTTP integration tests on a current JDK and on this framework #571, which only coveredjettyandjetty12.gogoitest modules resolved against none of the code in this repository. They take their versions from an imported BOM that pins released bundles, and the import is itself stale (gogo.bom:1.0.3-SNAPSHOTagainst1.0.7-SNAPSHOTin the reactor). They now carry explicit, overridable versions.The version-resolving step evaluates the gogo modules inside the gogo reactor, because
gogo-parent:7-SNAPSHOTis not published anywhere (verified: 404 onrepository.apache.org/snapshots) and a standalonehelp:evaluatewould fail on a clean runner.Deliberately left alone
framework.securitystays pinned at 2.8.3: it is no longer built here (removed in the 8.0.0 framework line, FELIX-6807) and its only consumer,ConfigAdminSecurityTest, is already excluded.Why not master
resolverandconfigadmincannot compile on JDK 21 or 25 on master —felix.java.version6 and felix-parent 6 (release 7) respectively. CI hides this because those steps only run when the module itself changed, and neither has changed in a long time. Touching their poms makes CI run them and go red on two of the three matrix JDKs. #433 already raises both baselines, so stacking there is what makes this ticket implementable at all.Verification
Run locally on JDK 25 against the in-repo bundles:
httpreactor on framework 8.0.0-SNAPSHOTgogoreactor, all overrides incl. framework 8.0.0-SNAPSHOTresolveron utils 1.11.11-SNAPSHOThelp:evaluatefor all 7 producer pomsconfigadminandscrintegration tests could not be verified locally: on Windows they fail in pax-tinybundles withIOException: Access is deniedfromFile.createTempFile, and control runs on the original pins fail identically (configadmin: 44 errors either way). That is a harness limitation of this machine, not a result of these overrides — CI on Linux is the real verdict for those two.🤖 Generated with Claude Code