diff options
author | erikjohnston <erikjohnston@users.noreply.github.com> | 2022-09-06 18:02:25 +0000 |
---|---|---|
committer | erikjohnston <erikjohnston@users.noreply.github.com> | 2022-09-06 18:02:25 +0000 |
commit | 45fcf7532ca507532b8b89ef19ca65475e4dbb0f (patch) | |
tree | c504bbe6448aac7a93c4308b21839fcc7bbefe6c /develop/development/contributing_guide.html | |
parent | deploy: 571f565c1fa1e00462f9c96c3907d3304a37e39f (diff) | |
download | synapse-45fcf7532ca507532b8b89ef19ca65475e4dbb0f.tar.xz |
deploy: c9b7e9735508bb148c6ad59c433d71e5b8b360ad
Diffstat (limited to 'develop/development/contributing_guide.html')
-rw-r--r-- | develop/development/contributing_guide.html | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/develop/development/contributing_guide.html b/develop/development/contributing_guide.html index c6e4c274a4..84356e5152 100644 --- a/develop/development/contributing_guide.html +++ b/develop/development/contributing_guide.html @@ -166,6 +166,8 @@ on Windows is not officially supported.</p> <p>Synapse can connect to PostgreSQL via the <a href="https://pypi.org/project/psycopg2/">psycopg2</a> Python library. Building this library from source requires access to PostgreSQL's C header files. On Debian or Ubuntu Linux, these can be installed with <code>sudo apt install libpq-dev</code>.</p> <p>The source code of Synapse is hosted on GitHub. You will also need <a href="https://github.com/git-guides/install-git">a recent version of git</a>.</p> <p>For some tests, you will need <a href="https://docs.docker.com/get-docker/">a recent version of Docker</a>.</p> +<p>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 <a href="https://rustup.rs/">rustup</a>.</p> <h1 id="3-get-the-source"><a class="header" href="#3-get-the-source">3. Get the source.</a></h1> <p>The preferred and easiest way to contribute changes is to fork the relevant project on GitHub, and then <a href="https://help.github.com/articles/using-pull-requests/">create a pull request</a> to ask us to pull your @@ -222,6 +224,10 @@ to check that your contributions render correctly. The docs are written in <p>Some documentation also exists in <a href="https://github.com/matrix-org/synapse/wiki">Synapse's GitHub Wiki</a>, although this is primarily contributed to by community authors.</p> +<p>When changes are made to any Rust code then you must call either <code>poetry install</code> +or <code>maturin develop</code> (if installed) to rebuild the Rust code. Using <a href="https://github.com/PyO3/maturin"><code>maturin</code></a> +is quicker than <code>poetry install</code>, so is recommended when making frequent +changes to the Rust code.</p> <h1 id="8-test-test-test"><a class="header" href="#8-test-test-test">8. Test, test, test!</a></h1> <p><a name="test-test-test"></a></p> <p>While you're developing and before submitting a patch, you'll @@ -270,7 +276,7 @@ working directory. Typically, this ends up being <code>_trial_temp/test.db</code <p>The database file can then be inspected with:</p> <pre><code class="language-sh">sqlite3 _trial_temp/test.db </code></pre> -<p>Note that the database file is cleared at the beginning of each test run. Thus it +<p>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 <em>last run test</em>. Though generally when debugging, one is only running a single test anyway.</p> <h3 id="running-tests-under-postgresql"><a class="header" href="#running-tests-under-postgresql">Running tests under PostgreSQL</a></h3> |