Skip to content

RavenDB-27069: no-.NET attach mode + make the .NET requirement explicit#15

Open
poissoncorp wants to merge 15 commits into
ravendb:v7.2from
poissoncorp:rdbc-27069-testdriver
Open

RavenDB-27069: no-.NET attach mode + make the .NET requirement explicit#15
poissoncorp wants to merge 15 commits into
ravendb:v7.2from
poissoncorp:rdbc-27069-testdriver

Conversation

@poissoncorp

@poissoncorp poissoncorp commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Why

The test-driver boots an embedded RavenDB server by default, which requires .NET (10 for 7.2.x,
8 for 7.1.x). For containerized CI or machines without .NET there was no supported alternative,
and the requirement was undocumented.

Changes

  • Attach mode: RavenTestDriver.configure_external_server(url) (or the
    RAVENDB_TEST_SERVER_URL env var) points the driver at a server you run yourself (Docker,
    testcontainers, a shared CI service) instead of booting the embedded one. No .NET on the
    machine, and each test still gets its own isolated database.
  • README rewritten around the two ways to provide a server (embedded / attach), with the
    .NET version table. python_requires>=3.10 (the ravendb client cannot be imported on 3.9).
  • CI: net10-only embedded job plus an attach job that runs against a GitHub Actions
    services: RavenDB container, so the no-.NET path is exercised.
  • Cleanup: dropped an unused import; fixed a stale package name in .gitignore
    (ravendb_testdriver -> ravendb_test_driver) so build artifacts are actually ignored.
  • Lab (labs/03): runnable attach-to-server guide (Docker / testcontainers / CI).

This package imports from ravendb-embedded; release together with its RavenDB-27069 PR.

configure_external_server(url) / RAVENDB_TEST_SERVER_URL make run_server attach to an existing
server instead of booting the embedded one, so tests need no .NET (good for Docker/testcontainers
CI). Database-per-test isolation and wait_for_indexing are unchanged. Also inlines the removed
CommandLineArgumentEscaper no-op.
…) job

The bundled 7.2 server is net10.0, so the embedded job installs .NET 10 (was a fake .NET 8).
A new 'attach' job runs a RavenDB service container and points the driver at it with NO .NET,
proving the attach path end-to-end (verified locally against ravendb/ravendb:7.2-ubuntu-latest).
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.

1 participant