Skip to content

Conversation

@csweichel
Copy link
Contributor

Description

This PR adds SpiceDB installation to the devcontainer Dockerfile to enable successful execution of database tests in components/server.

Problem

The test suite in components/server requires SpiceDB to be available in the PATH. Specifically, the yarn test:db command runs:

  • leeway run components/spicedb:start-spicedb which expects the spicedb binary

Without SpiceDB installed, the database tests fail with:

spicedb: command not found
Failed to start spicedb.

Solution

Install SpiceDB from source during devcontainer build by:

  1. Cloning the SpiceDB repository
  2. Building the binary using Go
  3. Installing it to /usr/local/bin/spicedb

Testing

All tests now pass successfully:

  • components/server unit tests: 188 passing
  • components/server database tests: 208 passing
  • components/gitpod-protocol: 108 tests passing
  • components/public-api/typescript-common: 87 tests passing
  • components/gitpod-db: 88 tests passing
  • components/dashboard: 24 tests passing
  • components/ws-manager-bridge: 3 tests passing
  • components/public-api-server: All Go tests passing
  • components/ws-manager-mk2: All Go tests passing

Impact

  • Enables developers to run the full test suite in the devcontainer
  • No impact on production deployments
  • Minimal increase in devcontainer build time (~30 seconds)

SpiceDB is required for running database tests in components/server.
The test suite expects spicedb binary to be available in PATH.

This change adds SpiceDB installation to the devcontainer Dockerfile,
building it from source to ensure compatibility with the test environment.

Co-authored-by: Ona <no-reply@ona.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants