test: validate JMX Exporter compatibility#2167
Conversation
359cb66 to
dc50259
Compare
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
dc50259 to
7a0431f
Compare
|
@zeitlinger are you wanting to run JMX Exporter smoke test configuration or a quick test configuration? Smoke test configuration (all integration tests, 6 Java distributions, 2 Prometheus distributions)
Quick test configuration (all integration tests, but 1 Java distribution and 1 Prometheus distribution)
|
dhoard
left a comment
There was a problem hiding this comment.
All in all looks good based on my understand of mise. We need to determine which level we want to run tests. smoke test configuration or quick test configuration
jaydeluca
left a comment
There was a problem hiding this comment.
one comment but it is non-blocking, we can do a followup
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
The pinned JMX Exporter and Micrometer releases do not build on the primary JDK (Java 25): JMX Exporter's spotless google-java-format and Micrometer's bundled Kotlin compiler both predate JDK 25 support. Add per-environment mise configs (mirroring .mise/envs/native) that override the java tool to Temurin 21 LTS and run the existing compatibility drivers, and point the workflows at those envs. Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
The compatibility builds run under an LTS JDK (Java 21), but our test sources target release 25 (test.java.version). -DskipTests still compiles test sources, so installing the local artifacts failed with 'release version 25 not supported'. Use -Dmaven.test.skip=true: downstream compatibility tests need only our main artifacts. Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
sorry I missed the comment before merging - what tests should we run in your opinion? |
I think I'll start with quick |
quick configuration. This should be enough to sanity-check things. |
|
Draft validation PR for the unmodified JMX Exporter compatibility story.
This intentionally does not depend on #2114. Vanilla JMX Exporter does not
use the typed descriptor API, so this PR validates the patch-compatible path
independently of typed descriptors.
This validates upstream
prometheus/jmx_exporter@mainagainst currentclient_javaby installing localio.prometheusartifacts and running the JMXExporter collector/common/javaagent/standalone Maven tests against them.
Local validation:
mise run jmx-exporter:testmise run lint:fixmise run lintactionlint .github/workflows/jmx-exporter-compatibility.yml