summary refs log tree commit diff
path: root/docs/development/contributing_guide.md
diff options
context:
space:
mode:
authorEric Eastwood <erice@element.io>2022-09-09 16:28:05 -0500
committerEric Eastwood <erice@element.io>2022-09-09 16:28:05 -0500
commit50f0342594977a57793225d8f6b95e1225dfe308 (patch)
treebb8c94e3316a8623780d37a98e1f55aa2bc19c4a /docs/development/contributing_guide.md
parentMerge branch 'develop' into madlittlemods/11850-migrate-to-opentelemetry (diff)
parentConcurrently collect room unread counts for push badges (#13765) (diff)
downloadsynapse-50f0342594977a57793225d8f6b95e1225dfe308.tar.xz
Merge branch 'develop' into madlittlemods/11850-migrate-to-opentelemetry
Conflicts:
	poetry.lock
	synapse/api/auth.py
	synapse/federation/federation_client.py
	synapse/logging/opentracing.py
	synapse/rest/client/keys.py
	synapse/rest/client/sendtodevice.py
	synapse/storage/schema/__init__.py
Diffstat (limited to 'docs/development/contributing_guide.md')
-rw-r--r--docs/development/contributing_guide.md12
1 files changed, 11 insertions, 1 deletions
diff --git a/docs/development/contributing_guide.md b/docs/development/contributing_guide.md

index ab320cbd78..cb0d727efa 100644 --- a/docs/development/contributing_guide.md +++ b/docs/development/contributing_guide.md
@@ -28,6 +28,9 @@ The source code of Synapse is hosted on GitHub. You will also need [a recent ver For some tests, you will need [a recent version of Docker](https://docs.docker.com/get-docker/). +A recent version of the Rust compiler is needed to build the native modules. The +easiest way of installing the latest version is to use [rustup](https://rustup.rs/). + # 3. Get the source. @@ -62,6 +65,8 @@ pipx install poetry but see poetry's [installation instructions](https://python-poetry.org/docs/#installation) for other installation methods. +Synapse requires Poetry version 1.2.0 or later. + Next, open a terminal and install dependencies as follows: ```sh @@ -112,6 +117,11 @@ Some documentation also exists in [Synapse's GitHub Wiki](https://github.com/matrix-org/synapse/wiki), although this is primarily contributed to by community authors. +When changes are made to any Rust code then you must call either `poetry install` +or `maturin develop` (if installed) to rebuild the Rust code. Using [`maturin`](https://github.com/PyO3/maturin) +is quicker than `poetry install`, so is recommended when making frequent +changes to the Rust code. + # 8. Test, test, test! <a name="test-test-test"></a> @@ -193,7 +203,7 @@ The database file can then be inspected with: sqlite3 _trial_temp/test.db ``` -Note that the database file is cleared at the beginning of each test run. Thus it +Note that the database file is cleared at the beginning of each test run. Thus it will always only contain the data generated by the *last run test*. Though generally when debugging, one is only running a single test anyway.