Automatically document the version of services we use in integration tests
#7140 opened on Jan 29, 2026
Description
See original discussion: https://github.com/micrometer-metrics/micrometer/pull/7132#discussion_r2739969446
I wonder if we could easily reference these versions in the docs somehow so we can add a statement or table somewhere that shows what versions we test the instrumentation against, so users have an idea of what the expectation is for instrumentation compatibility.
The easiest is using the asciidoc tags that we using right now in other places but that means this will be in the docs as code, e.g.:
Currently our CI runs integration tests with the following versions:
protected static final String VERSION_14 = "14.20";
protected static final String VERSION_18 = "18.1";
Which has the information but it's not pretty. (Does not say which image though, but not sure it must.)
We might also be able to use the version catalog for this:
[docker-images]
postgres14 = "postgres:14.20"
postgres18 = "postgres:18.1"
And inject it from Gralde, like we do for other tests (except we can inject the whole image name not only the version):
dockerTest {
systemProperty 'postgres14.image', dockerImages.postgres14
systemProperty 'postgres18.image', dockerImages.postgres18
}
The docs might be nicer:
Currently our CI runs integration tests with the following versions:
postgres14 = "postgres:14.20"
postgres18 = "postgres:18.1"
The docker images will be simpler to upgrade since everything will be there in the catalog. On the other hand, tests are not as easy to run from IDEs since the property needs to be defined in the run config but we have this issue for some tests already. And also, that part of the version catalog will be a bit uglier since the added asciidoc tags.