Repository navigation
Test MariaDB, MySQL, PostgreSQL and CockroachDB against every supported major version - #1591
Merged
Merged
Conversation
…supported versions
This was referenced Oct 12, 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.
Summary
Second batch of bringing existing modules in line with the supported-versions rule proposed in #1587 (first batch: #1589): a module's tests cover the latest release of every major version the vendor still supports.
Each suite has one
IMAGESlist, oldest major first and theDockerfileimage last, and runs in full against every entry withdescribe.each(IMAGES). The images run one after another and each image's tests run concurrently, as the single-image suite did:{ concurrent: false }ondescribe.each,it.concurrenton the tests. Older majors are pinned to the exact tag of their latest release.IMAGESDockerfile(13.0)Dockerfile(26.7)Dockerfile(18)Dockerfile(26.3)Notes:
postgresql-container.test.tsand the snapshot file both loop, so the list lives in a new test-onlysrc/test-helper.ts, excluded fromtsconfig.build.jsonlike the Kafka and Redpanda helpers.pgvector-container.test.ts,postgis-container.test.tsandtimescale-container.test.tsrun on their own images again:pgvector/pgvector:0.8.7-pg18,postgis/postgis:18-3.6andtimescale/timescaledb:2.30.2-pg18, added asFROMlines 2 to 4 of the moduleDockerfileso Dependabot bumps them. They were added in Fix healthcheck for Postgis #972 to check the health check against these variants, and have been running on plainpostgressince Add Dependabot for Docker #1020 replaced their hardcoded images. Each has one supported major, so there is no list.postgis/postgispublishes no arm64 image, so that file setswithPlatform("linux/amd64").Verification
Local, macOS arm64, Docker Desktop. The older majors were run locally with
-tand--maxConcurrency2 or 3:ECONNREFUSEDafterrestart()while other suites were loading Docker, then passed 3 of 3 (#1599 addresses that)No such imageon arm64 beforewithPlatformnpm run format,npm run lint,npm run knip,npm run check-compiles: clean.inside_blockmarker used by the four docs pages still resolves to one block.Left to CI: the
Dockerfileimage's share of each loop, Podman, Node 22 and 24, linux/amd64, and the docs build.Test counts: mariadb 5 → 20, mysql 7 → 21, postgresql 21 → 57, cockroachdb 6 → 18.
Baseline job times on
main(run 38287125470, docker 22 / docker 24 / podman 22 / podman 24, seconds): mariadb 37/40/48/44, mysql 68/74/76/74, postgresql 58/58/70/79, cockroachdb 44/53/53/48.Not breaking
Test files, a test-only helper and three more lines in the PostgreSQL test
Dockerfile. No module source or exports changed; the helper is excluded from the published build and theDockerfileis not published.