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")
);
}
}