Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ReadMe Review #1230

Merged
merged 5 commits into from
Dec 18, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 14 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
# NServiceBus.RavenDB

The official [NServiceBus](https://github.com/Particular/NServiceBus) persistence implementation for [RavenDB.](https://ravendb.net/)
NServiceBus.RavenDB is the official [NServiceBus](https://github.com/Particular/NServiceBus) persistence implementation for [RavenDB](https://ravendb.net/).

Learn more about NServiceBus.RavenDB through our [documentation.](http://docs.particular.net/nservicebus/ravendb/)
It is part of the [Particular Service Platform](https://particular.net/service-platform), which includes [NServiceBus](https://particular.net/nservicebus) and tools to build, monitor, and debug distributed systems.

If you are interested in contributing, please follow the instructions [here.](https://github.com/Particular/NServiceBus/blob/develop/CONTRIBUTING.md)
See the [RavenDB Persistence documentation](http://docs.particular.net/nservicebus/ravendb/) for more details on how to use it.

## Running the tests
## Running tests locally

Running the tests requires RavenDB 5.2 and two environment variables. One named `CommaSeparatedRavenClusterUrls` containing the URLs, separated by commas, to connect to a RavenDB cluster to run cluster-wide transaction tests. The second one named `RavenSingleNodeUrl` containing the URL of a single node RavenDB instance to run non-cluster-wide tests. The tests can be run with RavenDB servers hosted on a Docker container.
Running the tests requires RavenDB 5.2 and two environment variables:

1. `CommaSeparatedRavenClusterUrls` containing the URLs, separated by commas, to connect to a RavenDB cluster to run cluster-wide transaction tests
1. `RavenSingleNodeUrl` containing the URL of a single node RavenDB instance to run non-cluster-wide tests

The tests can be run with RavenDB servers hosted on a Docker container.

## CI Workflow

The [CI workflow](/.github/workflows/ci.yml) requires two secrets unique to RavenDB to be defined both as Actions and Dependabot secrets:
The [CI workflow](/.github/workflows/ci.yml) requires the following secret, unique to RavenDB, to be defined both as an Actions and Dependabot secret:

* RAVENDB_LICENSE: A RavenDB development license, expressed as JSON, but all on one line, with escaped quotes `\"`
* PASSPHRASE: Any phrase used to encrypt the connection information between steps in the CI
1. RAVENDB_LICENSE: A RavenDB development license, expressed as JSON, but all on one line, with escaped quotes `\"`

The values used by Particular are both stored in a secure note called "RavenDB CI Secrets".
The value used by Particular is stored in a secure note called "RavenDB CI Secrets".

### Spinning up the necessary infrastructure

This assumes docker and docker-compose are properly setup. It works currently on Windows with Docker Desktop but not on docker hosted in WSL2 only.
This assumes docker and docker-compose are properly setup. It currently works on Windows with Docker Desktop but not on docker hosted in WSL2 only.

1. [Acquire a developer license](https://ravendb.net/license/request/dev)
1. Convert the multi-line license JSON to a single line JSON and set the `LICENSE` variable. Alternatively the license can be set using [an `.env` file](https://docs.docker.com/compose/environment-variables/).
Expand Down