Repository navigation
Test Cassandra, Couchbase and KurrentDB against every supported major version - #1596
Merged
Merged
Conversation
…ainst their oldest supported versions
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
Last batch of bringing existing modules in line with the supported-versions rule proposed in #1587 (others: #1589, #1591, #1592, #1593, #1595): a module's tests cover the latest release of every major version the vendor still supports.
Each suite now has one
IMAGESlist, oldest major first and theDockerfileimage last, and runs in full against every entry withdescribe.each(IMAGES). Older majors are pinned to the exact tag of their latest release.IMAGESDockerfile(5.0)Dockerfile(26.2)community-7.6.2,enterprise-7.6.12(7.6 EOL 2027-03-31), then theDockerfilecommunity and enterprise imagesNotes:
Couchbase has two editions, so the file has two blocks, each looping over its own list:
COMMUNITY_IMAGES(community-7.6.2, then theDockerfilecommunity image) andENTERPRISE_IMAGES(enterprise-7.6.12, then theDockerfileenterprise image). The two tests both editions share (connect and query, flush) live in helper functions below the blocks; the community block adds its six tests and the enterprise block the analytics test. The whole suite therefore runs on 7.6 as well: 18 container starts, up from 11. 7.6.2 is the latest community build of 7.6 and 7.6.12 the latest enterprise build.KurrentDB: the vendor publishes the policy but no dated table, so the supported lines are derived from it. Its images are amd64 only, for every tag.
ClickHouse (all supported releases are 26.x), Weaviate (1.x) and K3s (1.x) have a single supported major, so their tests stay on the
Dockerfileimage and are not changed. For K3s that means only the newest Kubernetes minor is tested, although 1.35 and 1.36 are still supported.Selenium: the tests used
seleniarm/standalone-chromium:124.0andseleniarm/standalone-firefox:125.0on arm64. Those images were last pushed in April 2024, andselenium/standalone-chromeandselenium/standalone-firefoxnow publish arm64 themselves, so the two seleniarm lines are gone from theDockerfile, the tests use the official images on every architecture, and the docs page lists only those.Verification
Local, macOS arm64, Docker Desktop. Only the older lines were run locally:
npx vitest run packages/modules/cassandra --maxConcurrency=1 -t "4.1.12"npx vitest run packages/modules/kurrentdb --maxConcurrency=1 -t "25.0.1"npx vitest run packages/modules/couchbase --maxConcurrency=2 -t "7\.6\."npx vitest run packages/modules/selenium --maxConcurrency=2npm run format,npm run lint,npm run knip: clean.inside_blockmarker used by the three docs pages still resolves to one block.Left to CI: the
Dockerfileimages' share of each loop, Podman, Node 22 and 24, linux/amd64, and the docs build.Test counts: cassandra 5 → 10, kurrentdb 2 → 4, couchbase 11 → 22 (18 container starts), selenium unchanged. Cassandra and KurrentDB run sequentially (
concurrent: false), so their job time grows in proportion.Baseline job times on
main(run 38287125470, docker 22 / docker 24 / podman 22 / podman 24, seconds): cassandra 62/87/103/102, kurrentdb 42/42/47/41, couchbase 100/100/105/155.Not breaking
Test files, the Selenium test
Dockerfileand one docs page. No module source or exports changed.