diff --git a/.github/workflows/maven-ci.yml b/.github/workflows/maven-ci.yml index 83969f829d..4a3fb36c4d 100644 --- a/.github/workflows/maven-ci.yml +++ b/.github/workflows/maven-ci.yml @@ -76,9 +76,18 @@ jobs: - name: Felix Log if: steps.changes.outputs.log == 'true' run: mvn -B -V -Dstyle.color=always --file log/pom.xml clean verify + # Built and installed before Felix HTTP, whose integration tests run on it. + # Also runs when only http changed, so those tests always exercise the framework + # in this repository rather than the last release. See FELIX-6869. + - name: Felix Framework + if: steps.changes.outputs.framework == 'true' || steps.changes.outputs.http == 'true' + run: mvn -B -V -Dstyle.color=always --file framework/pom.xml clean install - name: Felix HTTP if: steps.changes.outputs.http == 'true' - run: mvn -B -V -Dstyle.color=always "-Dit.test=!MissingWebsocketDependenciesIT" --file http/pom.xml clean install verify "-Dmaven.repo.local=/home/runner/.m2/repository/" + run: | + FRAMEWORK_VERSION=$(mvn -B -q --file framework/pom.xml help:evaluate -Dexpression=project.version -DforceStdout) + echo "Running the integration tests against framework $FRAMEWORK_VERSION" + mvn -B -V -Dstyle.color=always "-Dit.test=!MissingWebsocketDependenciesIT" --file http/pom.xml clean install verify "-Dmaven.repo.local=/home/runner/.m2/repository/" "-Dfelix.framework.version=$FRAMEWORK_VERSION" - name: Felix Maven bundle plugin if: steps.changes.outputs.maven-bundle-plugin == 'true' run: mvn -B -V -Dstyle.color=always --file tools/maven-bundle-plugin/pom.xml clean install verify @@ -88,13 +97,6 @@ jobs: - name: Felix Webconsole if: steps.changes.outputs.webconsole == 'true' run: mvn -B -V -Dstyle.color=always --file webconsole/pom.xml clean install verify - - name: Felix Framework - if: steps.changes.outputs.framework == 'true' - # install, not verify: the TCK below is a separate Maven invocation and resolves - # the framework from the repository, so without installing it silently tests - # whatever org.apache.felix.framework is published rather than the build under - # test. - run: mvn -B -V -Dstyle.color=always --file framework/pom.xml clean install - name: OSGi-TCK Framework if: steps.changes.outputs.framework == 'true' run: mvn -B -V -Dstyle.color=always --file framework.tck/pom.xml clean verify diff --git a/http/jetty/pom.xml b/http/jetty/pom.xml index fd71a5dfd5..5fc1449a49 100644 --- a/http/jetty/pom.xml +++ b/http/jetty/pom.xml @@ -45,6 +45,13 @@ 11.0.26 true 4.13.3 + + 7.0.5 -Xmx512M @@ -523,7 +530,7 @@ org.apache.felix org.apache.felix.framework - 7.0.5 + ${felix.framework.version} test diff --git a/http/jetty/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java b/http/jetty/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java index 76fa6899a9..e20d772a7d 100644 --- a/http/jetty/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java +++ b/http/jetty/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java @@ -175,11 +175,11 @@ protected ModifiableCompositeOption optionalRemoteDebug() { public static ModifiableCompositeOption spifly() { return composite( mavenBundle().groupId("org.apache.aries.spifly").artifactId("org.apache.aries.spifly.dynamic.bundle").version("1.3.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm-analysis").version("9.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm-commons").version("9.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm-tree").version("9.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm-util").version("9.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm").version("9.7") + mavenBundle().groupId("org.ow2.asm").artifactId("asm-analysis").version("9.10.1"), + mavenBundle().groupId("org.ow2.asm").artifactId("asm-commons").version("9.10.1"), + mavenBundle().groupId("org.ow2.asm").artifactId("asm-tree").version("9.10.1"), + mavenBundle().groupId("org.ow2.asm").artifactId("asm-util").version("9.10.1"), + mavenBundle().groupId("org.ow2.asm").artifactId("asm").version("9.10.1") ); } } diff --git a/http/jetty12/pom.xml b/http/jetty12/pom.xml index cfdc5bbb94..5d8d4e4b4a 100644 --- a/http/jetty12/pom.xml +++ b/http/jetty12/pom.xml @@ -49,6 +49,13 @@ 2.0.17 false 4.13.3 + + 7.0.5 -Xmx512M @@ -701,7 +708,7 @@ org.apache.felix org.apache.felix.framework - 7.0.5 + ${felix.framework.version} test diff --git a/http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java b/http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java index ce9e7512dc..47c305ef0f 100644 --- a/http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java +++ b/http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java @@ -175,11 +175,11 @@ protected ModifiableCompositeOption optionalRemoteDebug() { public static ModifiableCompositeOption spifly() { return composite( mavenBundle().groupId("org.apache.aries.spifly").artifactId("org.apache.aries.spifly.dynamic.bundle").version("1.3.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm-analysis").version("9.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm-commons").version("9.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm-tree").version("9.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm-util").version("9.7"), - mavenBundle().groupId("org.ow2.asm").artifactId("asm").version("9.7") + mavenBundle().groupId("org.ow2.asm").artifactId("asm-analysis").version("9.10.1"), + mavenBundle().groupId("org.ow2.asm").artifactId("asm-commons").version("9.10.1"), + mavenBundle().groupId("org.ow2.asm").artifactId("asm-tree").version("9.10.1"), + mavenBundle().groupId("org.ow2.asm").artifactId("asm-util").version("9.10.1"), + mavenBundle().groupId("org.ow2.asm").artifactId("asm").version("9.10.1") ); } }