Skip to content

test: validate JMX Exporter compatibility#2167

Merged
zeitlinger merged 7 commits into
prometheus:mainfrom
zeitlinger:validation/jmx-exporter-compatibility
Jun 2, 2026
Merged

test: validate JMX Exporter compatibility#2167
zeitlinger merged 7 commits into
prometheus:mainfrom
zeitlinger:validation/jmx-exporter-compatibility

Conversation

@zeitlinger
Copy link
Copy Markdown
Member

@zeitlinger zeitlinger commented Jun 1, 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:

  • mise run jmx-exporter:test
  • mise run lint:fix
  • mise run lint
  • actionlint .github/workflows/jmx-exporter-compatibility.yml

@zeitlinger zeitlinger force-pushed the validation/jmx-exporter-compatibility branch 2 times, most recently from 359cb66 to dc50259 Compare June 1, 2026 14:36
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
@zeitlinger zeitlinger force-pushed the validation/jmx-exporter-compatibility branch from dc50259 to 7a0431f Compare June 1, 2026 14:41
@zeitlinger zeitlinger marked this pull request as ready for review June 1, 2026 14:46
@dhoard
Copy link
Copy Markdown
Collaborator

dhoard commented Jun 1, 2026

@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)

Copy link
Copy Markdown
Collaborator

@dhoard dhoard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread .github/workflows/jmx-exporter-compatibility.yml Outdated
Copy link
Copy Markdown
Collaborator

@jaydeluca jaydeluca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@zeitlinger zeitlinger merged commit 62ce9dc into prometheus:main Jun 2, 2026
13 of 14 checks passed
@zeitlinger zeitlinger deleted the validation/jmx-exporter-compatibility branch June 2, 2026 10:41
@zeitlinger
Copy link
Copy Markdown
Member Author

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

sorry I missed the comment before merging - what tests should we run in your opinion?

@zeitlinger
Copy link
Copy Markdown
Member Author

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

sorry I missed the comment before merging - what tests should we run in your opinion?

I think I'll start with quick

@dhoard
Copy link
Copy Markdown
Collaborator

dhoard commented Jun 2, 2026

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

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.

@zeitlinger
Copy link
Copy Markdown
Member Author

quick configuration. This should be enough to sanity-check things.

#2178

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants