test: run JMX Exporter quick test configuration#2178
Open
zeitlinger wants to merge 4 commits into
Open
Conversation
The compatibility job previously ran only the unit tests of three modules (common, javaagent, standalone) and never built the integration_test_suite, so the docker-based integration tests never ran. Switch to jmx_exporter's quick test configuration: build the full reactor (including integration_test_suite) against a single Java and Prometheus distribution. The distributions are read from the checked-out jmx_exporter's run-quick-test.sh so they stay aligned with upstream instead of drifting from a hardcoded copy. Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
This was referenced Jun 2, 2026
The integration_test_suite only compiles against current client_java when jmx_exporter imports the stable expositionformats.generated.Metrics class. Release 1.5.0 imports the version-stamped com_google_protobuf_4_32_0 package directly, which breaks on protobuf bumps (now 4.35.0); main uses the stable class. Test main until a release ships the fix (tracked in #2179). Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
The jmx-exporter and micrometer compat env files pin an LTS JDK that the upstream release supports; a major bump to the primary JDK (e.g. 25) breaks those builds, as in #2173. Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
dhoard
approved these changes
Jun 2, 2026
jaydeluca
approved these changes
Jun 2, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #2167 (review comment): switches the JMX Exporter compatibility job to the quick test configuration and fixes the gaps that surfaced.
Changes
jmx_exporter_compat.py): build the full reactor (clean install) sointegration_test_suiteactually runs, pinned to a single Java + Prometheus distribution. The pins are read from the checked-out jmx_exporter'srun-quick-test.shso they stay aligned with upstream;-Dparamixel.parallelismset to CPU count.main, not the release: the integration suite only compiles against currentclient_javawhen jmx_exporter imports the stableexpositionformats.generated.Metricsclass (Add stable Metrics class to decouple consumers from protobuf version #1873). Release 1.5.0 imports the version-stampedcom_google_protobuf_4_32_0package directly, which breaks on protobuf bumps (now 4.35.0);mainuses the stable class. Tracked by Pin JMX Exporter compatibility test to a release once one ships the stable Metrics class #2179 — switch the ref back to a pinned release once one ships the fix.renovate.json5): block major JDK bumps for the jmx-exporter and micrometer compat env files (they pin an LTS JDK the upstream release supports). This supersedes chore(deps): update dependency java to v25 #2173-style bumps.Local validation:
mise run lint:fix; image-pin regex verified againstprometheus/jmx_exporter@main. Full integration run is validated by CI (needs Docker + JDK 21).