Skip to content

feat: Use valkey-bundle docker images for modules related test (9.0+)#242

Open
edlng wants to merge 7 commits intovalkey-io:mainfrom
edlng:edlng/ci-valkey-server-docker
Open

feat: Use valkey-bundle docker images for modules related test (9.0+)#242
edlng wants to merge 7 commits intovalkey-io:mainfrom
edlng:edlng/ci-valkey-server-docker

Conversation

@edlng
Copy link
Copy Markdown
Contributor

@edlng edlng commented Mar 23, 2026

Summary

Add Docker-based valkey-bundle servers on dedicated ports for module tests (Search, JSON, Bloom, LDAP). Regular tests still run against the source-built server.

On the 9.0 / ubuntu matrix, CI now builds from source (like every other combo) AND pulls the valkey/valkey-bundle Docker image. The source-built server handles all existing tests. The Docker containers run on separate ports (standalone: 6389, cluster: 8001-8006) with modules loaded, and export modules-standalone-endpoint / modules-cluster-endpoints env vars for module-specific tests to pick up.

We tried routing everything through Docker first, but the bundle image is pinned to 9.1-rc1 (no stable 9.0 tag yet) and that caused consistent standalone timeouts. Separate ports and separate servers to handle module-related tests should be sufficient and better.

Issue link

Closes #245

What changed

  • New composite action .github/workflows/start-valkey-docker/action.yml. Pulls valkey/valkey-bundle:9.1-rc1, starts standalone (port 6389) and cluster (ports 8001-8006) containers with --network host, forms the cluster, writes endpoint env vars. Uses the source-built valkey-cli already on the host, so no binary extraction needed.
  • install-shared-dependencies now always builds from source first. For 9.0 on ubuntu it also runs the Docker action afterward.

Limitations

  • 9.1-rc1 pin means module tests hit a pre-release server . TODO in the action to swap once stable tags exist.
  • Only 9.0 on ubuntu gets module servers, other combos skip module tests due to limitations with Docker.
  • Nothing reads the modules-* env vars yet. feat: Add Valkey Search Support #225.

Testing

Ran the 9.0 / ubuntu matrix three times. Regular tests pass on the source-built server. Docker containers start and respond to PING. TLS tests work via cluster_manager.py + source-built valkey-server. Confirmed ports 6389 and 8001-8006 don't collide with anything in the test suite or cluster_manager.py's random port range.

Checklist

  • This Pull Request is related to one issue.
  • Commit message has a detailed description of what changed and why.
  • Tests are added or updated and all checks pass.
  • CHANGELOG.md, README.md, DEVELOPER.md, and other documentation files are updated.
  • Destination branch is correct - main or release
  • Create merge commit if merging release branch into main, squash otherwise.

edlng added 6 commits March 23, 2026 13:27
Signed-off-by: Edward Liang <edward.liang@improving.com>
Signed-off-by: Edward Liang <edward.liang@improving.com>
Signed-off-by: Edward Liang <edward.liang@improving.com>
Signed-off-by: Edward Liang <edward.liang@improving.com>
Signed-off-by: Edward Liang <edward.liang@improving.com>
Signed-off-by: Edward Liang <edward.liang@improving.com>
@edlng edlng changed the title feat: switch to docker images for modules related test (9.0) feat: Use valkey-bundle docker images for modules related test (9.0+) Mar 24, 2026
Signed-off-by: Edward Liang <edward.liang@improving.com>
@edlng edlng marked this pull request as ready for review March 24, 2026 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

(feat): Add Modules Testing in CI

1 participant