test: validate JMX Exporter compatibility by zeitlinger · Pull Request #2167 · prometheus/client_java (original) (raw)

@zeitlinger

Signed-off-by: Gregor Zeitlinger gregor.zeitlinger@grafana.com

@dhoard

jaydeluca

jaydeluca

@zeitlinger

Signed-off-by: Gregor Zeitlinger gregor.zeitlinger@grafana.com

@zeitlinger

Signed-off-by: Gregor Zeitlinger gregor.zeitlinger@grafana.com

@zeitlinger

Signed-off-by: Gregor Zeitlinger gregor.zeitlinger@grafana.com

@zeitlinger

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

@zeitlinger

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

@zeitlinger zeitlinger deleted the validation/jmx-exporter-compatibility branch

June 2, 2026 10:41

This was referenced

Jun 2, 2026

zeitlinger added a commit that referenced this pull request

Jun 3, 2026

@zeitlinger

Follow-up to #2167 ([review comment](#2167 (comment))): switches the JMX Exporter compatibility job to the quick test configuration and fixes the gaps that surfaced.

Changes

Local validation: mise run lint:fix; image-pin regex verified against prometheus/jmx_exporter@main. Full integration run is validated by CI (needs Docker + JDK 21).


Signed-off-by: Gregor Zeitlinger gregor.zeitlinger@grafana.com

jaydeluca pushed a commit that referenced this pull request

Jun 4, 2026

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@main against current client_java by installing local io.prometheus artifacts and running the JMX Exporter collector/common/javaagent/standalone Maven tests against them.

Local validation:


Signed-off-by: Gregor Zeitlinger gregor.zeitlinger@grafana.com Co-authored-by: Doug Hoard dhoard@users.noreply.github.com Signed-off-by: Jay DeLuca jaydeluca4@gmail.com

jaydeluca pushed a commit that referenced this pull request

Jun 4, 2026

@zeitlinger @jaydeluca

Follow-up to #2167 ([review comment](#2167 (comment))): switches the JMX Exporter compatibility job to the quick test configuration and fixes the gaps that surfaced.

Changes

Local validation: mise run lint:fix; image-pin regex verified against prometheus/jmx_exporter@main. Full integration run is validated by CI (needs Docker + JDK 21).


Signed-off-by: Gregor Zeitlinger gregor.zeitlinger@grafana.com Signed-off-by: Jay DeLuca jaydeluca4@gmail.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

[ Show hidden characters]({{ revealButtonHref }})