From 4df33628b79de10a37e04b2df2d64fb2e7696ce5 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 17 Aug 2026 13:15:45 +0000 Subject: [PATCH 1/8] fix: align Spring smoke test protobuf runtime Signed-off-by: Gregor Zeitlinger --- integration-tests/it-spring-boot-smoke-test/pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/integration-tests/it-spring-boot-smoke-test/pom.xml b/integration-tests/it-spring-boot-smoke-test/pom.xml index e27ae713e..e58937f2d 100644 --- a/integration-tests/it-spring-boot-smoke-test/pom.xml +++ b/integration-tests/it-spring-boot-smoke-test/pom.xml @@ -21,10 +21,17 @@ 25 6.1.3 + + 4.35.1 + + com.google.protobuf + protobuf-java + ${protobuf-java.version} + org.junit junit-bom From f3a92b762b07ba012620eb1e5aa3d6621f6c2eda Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 17 Aug 2026 13:22:10 +0000 Subject: [PATCH 2/8] docs: explain Spring smoke test protobuf pin Signed-off-by: Gregor Zeitlinger --- integration-tests/it-spring-boot-smoke-test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration-tests/it-spring-boot-smoke-test/pom.xml b/integration-tests/it-spring-boot-smoke-test/pom.xml index e58937f2d..da7618968 100644 --- a/integration-tests/it-spring-boot-smoke-test/pom.xml +++ b/integration-tests/it-spring-boot-smoke-test/pom.xml @@ -21,12 +21,12 @@ 25 6.1.3 - 4.35.1 + com.google.protobuf protobuf-java From a879e10dea48f7fdbd753454f0098aca356014ac Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 18 Aug 2026 06:51:51 +0000 Subject: [PATCH 3/8] test: run Spring smoke test against shaded artifact Signed-off-by: Gregor Zeitlinger --- .../it-spring-boot-smoke-test/pom.xml | 20 ++++++++++++------- ...pplicationTest.java => ApplicationIT.java} | 8 +++++++- 2 files changed, 20 insertions(+), 8 deletions(-) rename integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/{ApplicationTest.java => ApplicationIT.java} (92%) diff --git a/integration-tests/it-spring-boot-smoke-test/pom.xml b/integration-tests/it-spring-boot-smoke-test/pom.xml index da7618968..6c0f92357 100644 --- a/integration-tests/it-spring-boot-smoke-test/pom.xml +++ b/integration-tests/it-spring-boot-smoke-test/pom.xml @@ -21,17 +21,10 @@ 25 6.1.3 - 4.35.1 - - - com.google.protobuf - protobuf-java - ${protobuf-java.version} - org.junit junit-bom @@ -98,6 +91,19 @@ org.springframework.boot spring-boot-maven-plugin + + + org.apache.maven.plugins + maven-failsafe-plugin + + + + integration-test + verify + + + + diff --git a/integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationTest.java b/integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationIT.java similarity index 92% rename from integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationTest.java rename to integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationIT.java index c56634624..43f389482 100644 --- a/integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationTest.java +++ b/integration-tests/it-spring-boot-smoke-test/src/test/java/io/prometheus/metrics/it/springboot/ApplicationIT.java @@ -17,7 +17,13 @@ import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) -class ApplicationTest { +class ApplicationIT { + @Test + void testUsesShadedProtobufRuntime() { + assertThat(Metrics.MetricFamily.class.getSuperclass().getName()) + .startsWith("io.prometheus.metrics.shaded.com_google_protobuf_"); + } + @Test void testPrometheusProtobufFormat() throws IOException { ExporterTest.Response response = From ac2e64c45ef7bdc59911fad9f796323f357892d5 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 18 Aug 2026 07:40:50 +0000 Subject: [PATCH 4/8] fix: select Spring integration test for native tests Signed-off-by: Gregor Zeitlinger --- .mise/envs/native/mise.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.mise/envs/native/mise.toml b/.mise/envs/native/mise.toml index 594ec3d80..6ea8516c0 100644 --- a/.mise/envs/native/mise.toml +++ b/.mise/envs/native/mise.toml @@ -3,5 +3,6 @@ java = "oracle-graalvm-25.0.1" [tasks.native-test] depends = "build" -run = "../../mvnw test -PnativeTest" +# Native Test uses Surefire, so explicitly select the Failsafe-named test class. +run = "../../mvnw test -PnativeTest -Dtest=ApplicationIT" dir = "../../../integration-tests/it-spring-boot-smoke-test" From 54fb102ec9063eff0d5ea1480c19081fbe502d1b Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 18 Aug 2026 07:45:03 +0000 Subject: [PATCH 5/8] chore: use mise project root in native task Signed-off-by: Gregor Zeitlinger --- .mise/envs/native/mise.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.mise/envs/native/mise.toml b/.mise/envs/native/mise.toml index 6ea8516c0..5eafc9e42 100644 --- a/.mise/envs/native/mise.toml +++ b/.mise/envs/native/mise.toml @@ -4,5 +4,8 @@ java = "oracle-graalvm-25.0.1" [tasks.native-test] depends = "build" # Native Test uses Surefire, so explicitly select the Failsafe-named test class. -run = "../../mvnw test -PnativeTest -Dtest=ApplicationIT" -dir = "../../../integration-tests/it-spring-boot-smoke-test" +run = ''' +repo_root="$MISE_PROJECT_ROOT/../../.." +cd "$repo_root/integration-tests/it-spring-boot-smoke-test" +"$repo_root/mvnw" test -PnativeTest -Dtest=ApplicationIT +''' From 2938c31f3f1adbb7cc23a80081468dde425c4b22 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 18 Aug 2026 08:18:37 +0000 Subject: [PATCH 6/8] ci: expose native test as monorepo task Signed-off-by: Gregor Zeitlinger --- .github/workflows/native-tests.yml | 4 +--- .mise/envs/native/mise.toml | 7 +++---- mise.toml | 5 +++++ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index 7b7898896..aac5fe4c1 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -17,7 +17,5 @@ jobs: with: version: v2026.8.6 sha256: 96f6f1f416d868b78addd22746eefc7f4bf7820c6a3afa392a9f653f708c1644 - working_directory: .mise/envs/native - name: Run native tests - working-directory: .mise/envs/native - run: mise native-test + run: mise //.mise/envs/native:native-test diff --git a/.mise/envs/native/mise.toml b/.mise/envs/native/mise.toml index 5eafc9e42..b64367044 100644 --- a/.mise/envs/native/mise.toml +++ b/.mise/envs/native/mise.toml @@ -2,10 +2,9 @@ java = "oracle-graalvm-25.0.1" [tasks.native-test] -depends = "build" +depends = "//:build" # Native Test uses Surefire, so explicitly select the Failsafe-named test class. run = ''' -repo_root="$MISE_PROJECT_ROOT/../../.." -cd "$repo_root/integration-tests/it-spring-boot-smoke-test" -"$repo_root/mvnw" test -PnativeTest -Dtest=ApplicationIT +cd "$MISE_MONOREPO_ROOT/integration-tests/it-spring-boot-smoke-test" +"$MISE_MONOREPO_ROOT/mvnw" test -PnativeTest -Dtest=ApplicationIT ''' diff --git a/mise.toml b/mise.toml index 021e0921c..a07d1e479 100644 --- a/mise.toml +++ b/mise.toml @@ -1,3 +1,8 @@ +monorepo_root = true + +[monorepo] +config_roots = [".mise/envs/native"] + [tools] "aqua:grafana/gcx" = "v1.1.0" "aqua:grafana/oats" = "0.10.0" From 6dd4e249428077255bd7470f9240f56a066da3f8 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 18 Aug 2026 08:22:27 +0000 Subject: [PATCH 7/8] ci: cache native task toolchain Signed-off-by: Gregor Zeitlinger --- .github/workflows/native-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index aac5fe4c1..a099aaafc 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -17,5 +17,6 @@ jobs: with: version: v2026.8.6 sha256: 96f6f1f416d868b78addd22746eefc7f4bf7820c6a3afa392a9f653f708c1644 + working_directory: .mise/envs/native - name: Run native tests run: mise //.mise/envs/native:native-test From f375243b94e70677059520352f1ab36adeb7fbbb Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 18 Aug 2026 08:27:56 +0000 Subject: [PATCH 8/8] chore: register all mise environment projects Signed-off-by: Gregor Zeitlinger --- mise.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mise.toml b/mise.toml index a07d1e479..698fc7ec3 100644 --- a/mise.toml +++ b/mise.toml @@ -1,7 +1,7 @@ monorepo_root = true [monorepo] -config_roots = [".mise/envs/native"] +config_roots = [".mise/envs/*"] [tools] "aqua:grafana/gcx" = "v1.1.0"