Repository navigation
Test Neo4j, ScyllaDB and SQL Server against every supported major version - #1595
Merged
cristianrgreco merged 5 commits intoOct 13, 2026
Merged
Conversation
This was referenced Oct 12, 2026
cristianrgreco
marked this pull request as ready for review
October 13, 2026 17:25
cristianrgreco
deleted the
claude/supported-versions-neo4j-scylladb-mssql
branch
October 13, 2026 17:25
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
Another batch of bringing existing modules in line with the supported-versions rule proposed in #1587 (others: #1589, #1591, #1592, #1593): a module's tests cover the latest release of every major version the vendor still supports.
These three modules had a
Dockerfilethat was not on the newest supported version, and Dependabot has not moved them: Neo4j and ScyllaDB switched to calendar versions, and the SQL Server tag (2022-CU13-ubuntu-22.04) is not one it bumps. This PR moves eachDockerfileto the newest version by hand. Each suite then has oneIMAGESlist, 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.Dockerfilebefore → afterIMAGES5.26.31→2026.09.0Dockerfile6.2.3→2026.3.3Dockerfile2022-CU13-ubuntu-22.04→2025-CU9-ubuntu-24.042022-CU27-ubuntu-22.04(mainstream support to 2028-01-11),DockerfileThings the older and newer lines turned up:
SimpleStrategy, which 2026.3 rejects withSimpleStrategy doesn't support tablet replication. It now usesNetworkTopologyStrategy, which passes on 2025.1 and 2026.3.Attribute synchronization manager initialized, which 2017 and 2025 never log (the 2025 run timed out after 120 s), and ran/opt/mssql-tools/bin/sqlcmd, which 2025 ships as/opt/mssql-tools18/bin/sqlcmd. It now waits forSQL Server is now ready for client connectionsand reads the edition through themssqlclient. The docs snippet under "With different edition" changes with it.sql.connect()returns the existing global pool and ignores the config it is given while another test holds it open, so with tests running concurrently a query could reach another test's container. Each test now opens its ownsql.ConnectionPool. Without this a test for one image could pass against another image's container.Verification
Local, macOS arm64, Docker Desktop (SQL Server under amd64 emulation):
npx vitest run packages/modules/neo4j --maxConcurrency=2 -t "2026.09.0"npx vitest run packages/modules/scylladb --maxConcurrency=1 -t "2026.3.3"SimpleStrategy) before the fix, 3 passed afternpx vitest run packages/modules/scylladb --maxConcurrency=1 -t "2025.1.16"npx vitest run packages/modules/mssqlserver --maxConcurrency=2 -t "2025-CU9"npx vitest run packages/modules/mssqlserver --maxConcurrency=2 -t "2017-CU31-GDR9"(an earlier revision that listed 2017)npm run format,npm run lint,npm run knip,npm run check-compiles: clean.inside_blockmarker used by the three docs pages still resolves to one block.Left to CI: Neo4j on 5.26.31 (the image
mainruns today), SQL Server 2022, Podman, Node 22 and 24, linux/amd64, and the docs build.Test counts: neo4j 4 → 8, scylladb 3 → 6, mssqlserver 6 → 11.
Baseline job times on
main(run 38287125470, docker 22 / docker 24 / podman 22 / podman 24, seconds): neo4j 69/72/86/91, scylladb 43/35/63/44, mssqlserver 45/38/79/73.Not breaking
Test files and the three test
Dockerfiles only. No module source or exports changed, and theDockerfileis not published.