Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 6e9f1e3

Browse files
committed
Merge tag 'v1.57.0' into babolivier/dinsic_1.58
Synapse 1.57.0 (2022-04-19) =========================== This version includes a [change](matrix-org/synapse#12209) to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs. See the [upgrade notes](https://github.com/matrix-org/synapse/blob/v1.57.0rc1/docs/upgrade.md#upgrading-to-v1570) for more details. No significant changes since 1.57.0rc1. Synapse 1.57.0rc1 (2022-04-12) ============================== Features -------- - Send device list changes to application services as specified by [MSC3202](matrix-org/matrix-spec-proposals#3202), using unstable prefixes. The `msc3202_transaction_extensions` experimental homeserver config option must be enabled and `org.matrix.msc3202: true` must be present in the application service registration file for device list changes to be sent. The "left" field is currently always empty. ([\#11881](matrix-org/synapse#11881)) - Optimise fetching large quantities of missing room state over federation. ([\#12040](matrix-org/synapse#12040)) - Offload the `update_client_ip` background job from the main process to the background worker, when using Redis-based replication. ([\#12251](matrix-org/synapse#12251)) - Move `update_client_ip` background job from the main process to the background worker. ([\#12252](matrix-org/synapse#12252)) - Add a module callback to react to new 3PID (email address, phone number) associations. ([\#12302](matrix-org/synapse#12302)) - Add a configuration option to remove a specific set of rooms from sync responses. ([\#12310](matrix-org/synapse#12310)) - Add a module callback to react to account data changes. ([\#12327](matrix-org/synapse#12327)) - Allow setting user admin status using the module API. Contributed by Famedly. ([\#12341](matrix-org/synapse#12341)) - Reduce overhead of restarting synchrotrons. ([\#12367](matrix-org/synapse#12367), [\#12372](matrix-org/synapse#12372)) - Update `/messages` to use historic pagination tokens if no `from` query parameter is given. ([\#12370](matrix-org/synapse#12370)) - Add a module API for reading and writing global account data. ([\#12391](matrix-org/synapse#12391)) - Support the stable `v1` endpoint for `/relations`, per [MSC2675](matrix-org/matrix-spec-proposals#2675). ([\#12403](matrix-org/synapse#12403)) - Include bundled aggregations in search results ([MSC3666](matrix-org/matrix-spec-proposals#3666)). ([\#12436](matrix-org/synapse#12436)) Bugfixes -------- - Fix a long-standing bug where updates to the server notices user profile (display name/avatar URL) in the configuration would not be applied to pre-existing rooms. Contributed by Jorge Florian. ([\#12115](matrix-org/synapse#12115)) - Fix a long-standing bug where events from ignored users were still considered for bundled aggregations. ([\#12235](matrix-org/synapse#12235), [\#12338](matrix-org/synapse#12338)) - Fix non-member state events not resolving for historical events when used in [MSC2716](matrix-org/matrix-spec-proposals#2716) `/batch_send` `state_events_at_start`. ([\#12329](matrix-org/synapse#12329)) - Fix a long-standing bug affecting URL previews that would generate a 500 response instead of a 403 if the previewed URL includes a port that isn't allowed by the relevant blacklist. ([\#12333](matrix-org/synapse#12333)) - Default to `private` room visibility rather than `public` when a client does not specify one, according to spec. ([\#12350](matrix-org/synapse#12350)) - Fix a spec compliance issue where requests to the `/publicRooms` federation API would specify `limit` as a string. ([\#12364](matrix-org/synapse#12364), [\#12410](matrix-org/synapse#12410)) - Fix a bug introduced in Synapse 1.49.0 which caused the `synapse_event_persisted_position` metric to have invalid values. ([\#12390](matrix-org/synapse#12390)) Updates to the Docker image --------------------------- - Bundle locked versions of dependencies into the Docker image. ([\#12385](matrix-org/synapse#12385), [\#12439](matrix-org/synapse#12439)) - Fix up healthcheck generation for workers docker image. ([\#12405](matrix-org/synapse#12405)) Improved Documentation ---------------------- - Clarify documentation for running SyTest against Synapse, including use of Postgres and worker mode. ([\#12271](matrix-org/synapse#12271)) - Document the behaviour of `LoggingTransaction.call_after` and `LoggingTransaction.call_on_exception` methods when transactions are retried. ([\#12315](matrix-org/synapse#12315)) - Update dead links in `check-newsfragment.sh` to point to the correct documentation URL. ([\#12331](matrix-org/synapse#12331)) - Upgrade the version of `mdbook` in CI to 0.4.17. ([\#12339](matrix-org/synapse#12339)) - Updates to the Room DAG concepts development document to clarify that we mark events as outliers because we don't have any state for them. ([\#12345](matrix-org/synapse#12345)) - Update the link to Redis pub/sub documentation in the workers documentation. ([\#12369](matrix-org/synapse#12369)) - Remove documentation for converting a legacy structured logging configuration to the new format. ([\#12392](matrix-org/synapse#12392)) Deprecations and Removals ------------------------- - Remove the unused and unstable `/aggregations` endpoint which was removed from [MSC2675](matrix-org/matrix-spec-proposals#2675). ([\#12293](matrix-org/synapse#12293)) Internal Changes ---------------- - Remove lingering unstable references to MSC2403 (knocking). ([\#12165](matrix-org/synapse#12165)) - Avoid trying to calculate the state at outlier events. ([\#12191](matrix-org/synapse#12191), [\#12316](matrix-org/synapse#12316), [\#12330](matrix-org/synapse#12330), [\#12332](matrix-org/synapse#12332), [\#12409](matrix-org/synapse#12409)) - Omit sending "offline" presence updates to application services after they are initially configured. ([\#12193](matrix-org/synapse#12193)) - Switch to using a sequence to generate AS transaction IDs. Contributed by Nick @ Beeper. If running synapse with a dedicated appservice worker, this MUST be stopped before upgrading the main process and database. ([\#12209](matrix-org/synapse#12209)) - Add missing type hints for storage. ([\#12267](matrix-org/synapse#12267)) - Add missing type definitions for scripts in docker folder. Contributed by Jorge Florian. ([\#12280](matrix-org/synapse#12280)) - Move [MSC2654](matrix-org/matrix-spec-proposals#2654) support behind an experimental configuration flag. ([\#12295](matrix-org/synapse#12295)) - Update docstrings to explain how to decipher live and historic pagination tokens. ([\#12317](matrix-org/synapse#12317)) - Add ground work for speeding up device list updates for users in large numbers of rooms. ([\#12321](matrix-org/synapse#12321)) - Fix typechecker problems exposed by signedjson 1.1.2. ([\#12326](matrix-org/synapse#12326)) - Remove the `tox` packaging job: it will be redundant once #11537 lands. ([\#12334](matrix-org/synapse#12334)) - Ignore `.envrc` for `direnv` users. ([\#12335](matrix-org/synapse#12335)) - Remove the (broadly unused, dev-only) dockerfile for pg tests. ([\#12336](matrix-org/synapse#12336)) - Remove redundant `get_success` calls in test code. ([\#12346](matrix-org/synapse#12346)) - Add type annotations for `tests/unittest.py`. ([\#12347](matrix-org/synapse#12347)) - Move single-use methods out of `TestCase`. ([\#12348](matrix-org/synapse#12348)) - Remove broken and unused development scripts. ([\#12349](matrix-org/synapse#12349), [\#12351](matrix-org/synapse#12351), [\#12355](matrix-org/synapse#12355)) - Convert `Linearizer` tests from `inlineCallbacks` to async. ([\#12353](matrix-org/synapse#12353)) - Update docstrings for `ReadWriteLock` tests. ([\#12354](matrix-org/synapse#12354)) - Refactor `Linearizer`, convert methods to async and use an async context manager. ([\#12357](matrix-org/synapse#12357)) - Fix a long-standing bug where `Linearizer`s could get stuck if a cancellation were to happen at the wrong time. ([\#12358](matrix-org/synapse#12358)) - Make `StreamToken.from_string` and `RoomStreamToken.parse` propagate cancellations instead of replacing them with `SynapseError`s. ([\#12366](matrix-org/synapse#12366)) - Add type hints to tests files. ([\#12371](matrix-org/synapse#12371)) - Allow specifying the Postgres database's port when running unit tests with Postgres. ([\#12376](matrix-org/synapse#12376)) - Remove temporary pin of signedjson<=1.1.1 that was added in Synapse 1.56.0. ([\#12379](matrix-org/synapse#12379)) - Add opentracing spans to calls to external cache. ([\#12380](matrix-org/synapse#12380)) - Lay groundwork for using `poetry` to manage Synapse's dependencies. ([\#12381](matrix-org/synapse#12381), [\#12407](matrix-org/synapse#12407), [\#12412](matrix-org/synapse#12412), [\#12418](matrix-org/synapse#12418)) - Make missing `importlib_metadata` dependency explicit. ([\#12384](matrix-org/synapse#12384), [\#12400](matrix-org/synapse#12400)) - Update type annotations for compatiblity with prometheus_client 0.14. ([\#12389](matrix-org/synapse#12389)) - Remove support for the unstable identifiers specified in [MSC3288](matrix-org/matrix-spec-proposals#3288). ([\#12398](matrix-org/synapse#12398)) - Add missing type hints to configuration classes. ([\#12402](matrix-org/synapse#12402)) - Add files used to build the Docker image used for complement testing into the Synapse repository. ([\#12404](matrix-org/synapse#12404)) - Do not include groups in the sync response when disabled. ([\#12408](matrix-org/synapse#12408)) - Improve type hints related to HTTP query parameters. ([\#12415](matrix-org/synapse#12415)) - Stop maintaining a list of lint targets. ([\#12420](matrix-org/synapse#12420)) - Make `synapse._scripts` pass type checks. ([\#12421](matrix-org/synapse#12421), [\#12422](matrix-org/synapse#12422)) - Add some type hints to datastore. ([\#12423](matrix-org/synapse#12423)) - Enable certificate checking during complement tests. ([\#12435](matrix-org/synapse#12435)) - Explicitly specify the `tls` extra for Twisted dependency. ([\#12444](matrix-org/synapse#12444))
2 parents 7b586d8 + dfc7646 commit 6e9f1e3

File tree

248 files changed

+14590
-8933
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

248 files changed

+14590
-8933
lines changed

.ci/scripts/test_export_data_command.sh

+9-14
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,24 @@
22

33
# Test for the export-data admin command against sqlite and postgres
44

5+
# Expects Synapse to have been already installed with `poetry install --extras postgres`.
6+
# Expects `poetry` to be available on the `PATH`.
7+
58
set -xe
69
cd "$(dirname "$0")/../.."
710

8-
echo "--- Install dependencies"
9-
10-
# Install dependencies for this test.
11-
pip install psycopg2
12-
13-
# Install Synapse itself. This won't update any libraries.
14-
pip install -e .
15-
1611
echo "--- Generate the signing key"
1712

1813
# Generate the server's signing key.
19-
python -m synapse.app.homeserver --generate-keys -c .ci/sqlite-config.yaml
14+
poetry run synapse_homeserver --generate-keys -c .ci/sqlite-config.yaml
2015

2116
echo "--- Prepare test database"
2217

2318
# Make sure the SQLite3 database is using the latest schema and has no pending background update.
24-
update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
19+
poetry run update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
2520

2621
# Run the export-data command on the sqlite test database
27-
python -m synapse.app.admin_cmd -c .ci/sqlite-config.yaml export-data @anon-20191002_181700-832:localhost:8800 \
22+
poetry run python -m synapse.app.admin_cmd -c .ci/sqlite-config.yaml export-data @anon-20191002_181700-832:localhost:8800 \
2823
--output-directory /tmp/export_data
2924

3025
# Test that the output directory exists and contains the rooms directory
@@ -37,14 +32,14 @@ else
3732
fi
3833

3934
# Create the PostgreSQL database.
40-
.ci/scripts/postgres_exec.py "CREATE DATABASE synapse"
35+
poetry run .ci/scripts/postgres_exec.py "CREATE DATABASE synapse"
4136

4237
# Port the SQLite databse to postgres so we can check command works against postgres
4338
echo "+++ Port SQLite3 databse to postgres"
44-
synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
39+
poetry run synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
4540

4641
# Run the export-data command on postgres database
47-
python -m synapse.app.admin_cmd -c .ci/postgres-config.yaml export-data @anon-20191002_181700-832:localhost:8800 \
42+
poetry run python -m synapse.app.admin_cmd -c .ci/postgres-config.yaml export-data @anon-20191002_181700-832:localhost:8800 \
4843
--output-directory /tmp/export_data2
4944

5045
# Test that the output directory exists and contains the rooms directory

.ci/scripts/test_old_deps.sh

+66-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
#!/usr/bin/env bash
2-
# this script is run by GitHub Actions in a plain `focal` container; it installs the
3-
# minimal requirements for tox and hands over to the py3-old tox environment.
2+
# this script is run by GitHub Actions in a plain `focal` container; it
3+
# - installs the minimal system requirements, and poetry;
4+
# - patches the project definition file to refer to old versions only;
5+
# - creates a venv with these old versions using poetry; and finally
6+
# - invokes `trial` to run the tests with old deps.
47

58
# Prevent tzdata from asking for user input
69
export DEBIAN_FRONTEND=noninteractive
@@ -9,12 +12,70 @@ set -ex
912

1013
apt-get update
1114
apt-get install -y \
12-
python3 python3-dev python3-pip python3-venv \
13-
libxml2-dev libxslt-dev xmlsec1 zlib1g-dev tox libjpeg-dev libwebp-dev
15+
python3 python3-dev python3-pip python3-venv pipx \
16+
libxml2-dev libxslt-dev xmlsec1 zlib1g-dev libjpeg-dev libwebp-dev
1417

1518
export LANG="C.UTF-8"
1619

1720
# Prevent virtualenv from auto-updating pip to an incompatible version
1821
export VIRTUALENV_NO_DOWNLOAD=1
1922

20-
exec tox -e py3-old
23+
# TODO: in the future, we could use an implementation of
24+
# https://github.com/python-poetry/poetry/issues/3527
25+
# https://github.com/pypa/pip/issues/8085
26+
# to select the lowest possible versions, rather than resorting to this sed script.
27+
28+
# Patch the project definitions in-place:
29+
# - Replace all lower and tilde bounds with exact bounds
30+
# - Make the pyopenssl 17.0, which is the oldest version that works with
31+
# a `cryptography` compiled against OpenSSL 1.1.
32+
# - Delete all lines referring to psycopg2 --- so no testing of postgres support.
33+
# - Omit systemd: we're not logging to journal here.
34+
35+
# TODO: also replace caret bounds, see https://python-poetry.org/docs/dependency-specification/#version-constraints
36+
# We don't use these yet, but IIRC they are the default bound used when you `poetry add`.
37+
# The sed expression 's/\^/==/g' ought to do the trick. But it would also change
38+
# `python = "^3.7"` to `python = "==3.7", which would mean we fail because olddeps
39+
# runs on 3.8 (#12343).
40+
41+
sed -i \
42+
-e "s/[~>]=/==/g" \
43+
-e "/psycopg2/d" \
44+
-e 's/pyOpenSSL = "==16.0.0"/pyOpenSSL = "==17.0.0"/' \
45+
-e '/systemd/d' \
46+
pyproject.toml
47+
48+
# Use poetry to do the installation. This ensures that the versions are all mutually
49+
# compatible (as far the package metadata declares, anyway); pip's package resolver
50+
# is more lax.
51+
#
52+
# Rather than `poetry install --no-dev`, we drop all dev dependencies from the
53+
# toml file. This means we don't have to ensure compatibility between old deps and
54+
# dev tools.
55+
56+
pip install --user toml
57+
58+
REMOVE_DEV_DEPENDENCIES="
59+
import toml
60+
with open('pyproject.toml', 'r') as f:
61+
data = toml.loads(f.read())
62+
63+
del data['tool']['poetry']['dev-dependencies']
64+
65+
with open('pyproject.toml', 'w') as f:
66+
toml.dump(data, f)
67+
"
68+
python3 -c "$REMOVE_DEV_DEPENDENCIES"
69+
70+
pipx install poetry==1.1.12
71+
~/.local/bin/poetry lock
72+
73+
echo "::group::Patched pyproject.toml"
74+
cat pyproject.toml
75+
echo "::endgroup::"
76+
echo "::group::Lockfile after patch"
77+
cat poetry.lock
78+
echo "::endgroup::"
79+
80+
~/.local/bin/poetry install -E "all test"
81+
~/.local/bin/poetry run trial --jobs=2 tests

.ci/scripts/test_synapse_port_db.sh

+12-18
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,37 @@
11
#!/usr/bin/env bash
22
#
33
# Test script for 'synapse_port_db'.
4-
# - sets up synapse and deps
4+
# - configures synapse and a postgres server.
55
# - runs the port script on a prepopulated test sqlite db
66
# - also runs it against an new sqlite db
7-
7+
#
8+
# Expects Synapse to have been already installed with `poetry install --extras postgres`.
9+
# Expects `poetry` to be available on the `PATH`.
810

911
set -xe
1012
cd "$(dirname "$0")/../.."
1113

12-
echo "--- Install dependencies"
13-
14-
# Install dependencies for this test.
15-
pip install psycopg2 coverage coverage-enable-subprocess
16-
17-
# Install Synapse itself. This won't update any libraries.
18-
pip install -e .
19-
2014
echo "--- Generate the signing key"
2115

2216
# Generate the server's signing key.
23-
python -m synapse.app.homeserver --generate-keys -c .ci/sqlite-config.yaml
17+
poetry run synapse_homeserver --generate-keys -c .ci/sqlite-config.yaml
2418

2519
echo "--- Prepare test database"
2620

2721
# Make sure the SQLite3 database is using the latest schema and has no pending background update.
28-
update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
22+
poetry run update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
2923

3024
# Create the PostgreSQL database.
31-
.ci/scripts/postgres_exec.py "CREATE DATABASE synapse"
25+
poetry run .ci/scripts/postgres_exec.py "CREATE DATABASE synapse"
3226

3327
echo "+++ Run synapse_port_db against test database"
3428
# TODO: this invocation of synapse_port_db (and others below) used to be prepended with `coverage run`,
3529
# but coverage seems unable to find the entrypoints installed by `pip install -e .`.
36-
synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
30+
poetry run synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
3731

3832
# We should be able to run twice against the same database.
3933
echo "+++ Run synapse_port_db a second time"
40-
synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
34+
poetry run synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
4135

4236
#####
4337

@@ -48,12 +42,12 @@ echo "--- Prepare empty SQLite database"
4842
# we do this by deleting the sqlite db, and then doing the same again.
4943
rm .ci/test_db.db
5044

51-
update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
45+
poetry run update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
5246

5347
# re-create the PostgreSQL database.
54-
.ci/scripts/postgres_exec.py \
48+
poetry run .ci/scripts/postgres_exec.py \
5549
"DROP DATABASE synapse" \
5650
"CREATE DATABASE synapse"
5751

5852
echo "+++ Run synapse_port_db against empty database"
59-
synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
53+
poetry run synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml

.dockerignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@
44
# things to include
55
!docker
66
!synapse
7-
!MANIFEST.in
87
!README.rst
8+
!pyproject.toml
9+
!poetry.lock
10+
11+
# TODO: remove these once we have moved over to using poetry-core in pyproject.toml
12+
!MANIFEST.in
913
!setup.py
1014

1115
**/__pycache__

.github/workflows/docs.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Setup mdbook
2323
uses: peaceiris/actions-mdbook@4b5ef36b314c2599664ca107bb8c02412548d79d # v1.1.14
2424
with:
25-
mdbook-version: '0.4.9'
25+
mdbook-version: '0.4.17'
2626

2727
- name: Build the documentation
2828
# mdbook will only create an index.html if we're including docs/README.md in SUMMARY.md.

.github/workflows/tests.yml

+9-23
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ jobs:
2727
- "check_codestyle"
2828
- "check_isort"
2929
- "mypy"
30-
- "packaging"
3130

3231
steps:
3332
- uses: actions/checkout@v2
@@ -129,18 +128,19 @@ jobs:
129128
|| true
130129
131130
trial-olddeps:
131+
# Note: sqlite only; no postgres
132132
if: ${{ !cancelled() && !failure() }} # Allow previous steps to be skipped, but not fail
133133
needs: linting-done
134134
runs-on: ubuntu-latest
135135
steps:
136136
- uses: actions/checkout@v2
137137
- name: Test with old deps
138138
uses: docker://ubuntu:focal # For old python and sqlite
139+
# Note: focal seems to be using 3.8, but the oldest is 3.7?
140+
# See https://github.com/matrix-org/synapse/issues/12343
139141
with:
140142
workdir: /github/workspace
141143
entrypoint: .ci/scripts/test_old_deps.sh
142-
env:
143-
TRIAL_FLAGS: "--jobs=2"
144144
- name: Dump logs
145145
# Logs are most useful when the command fails, always include them.
146146
if: ${{ always() }}
@@ -264,9 +264,10 @@ jobs:
264264
steps:
265265
- uses: actions/checkout@v2
266266
- run: sudo apt-get -qq install xmlsec1
267-
- uses: actions/setup-python@v2
267+
- uses: matrix-org/setup-python-poetry@v1
268268
with:
269-
python-version: "3.9"
269+
python-version: ${{ matrix.python-version }}
270+
extras: "postgres"
270271
- run: .ci/scripts/test_export_data_command.sh
271272

272273
portdb:
@@ -301,9 +302,10 @@ jobs:
301302
steps:
302303
- uses: actions/checkout@v2
303304
- run: sudo apt-get -qq install xmlsec1
304-
- uses: actions/setup-python@v2
305+
- uses: matrix-org/setup-python-poetry@v1
305306
with:
306307
python-version: ${{ matrix.python-version }}
308+
extras: "postgres"
307309
- run: .ci/scripts/test_synapse_port_db.sh
308310

309311
complement:
@@ -355,27 +357,11 @@ jobs:
355357
(wget -O - "https://github.com/matrix-org/complement/archive/$BRANCH_NAME.tar.gz" | tar -xz --strip-components=1 -C complement) && break
356358
done
357359
358-
# Build initial Synapse image
359-
- run: docker build -t matrixdotorg/synapse:latest -f docker/Dockerfile .
360-
working-directory: synapse
361-
env:
362-
DOCKER_BUILDKIT: 1
363-
364-
# Build a ready-to-run Synapse image based on the initial image above.
365-
# This new image includes a config file, keys for signing and TLS, and
366-
# other settings to make it suitable for testing under Complement.
367-
- run: docker build -t complement-synapse -f Synapse.Dockerfile .
368-
working-directory: complement/dockerfiles
369-
370-
# Run Complement
371360
- run: |
372361
set -o pipefail
373-
go test -v -json -tags synapse_blacklist,msc2403,msc2716,msc3030 ./tests/... 2>&1 | gotestfmt
362+
COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
374363
shell: bash
375364
name: Run Complement Tests
376-
env:
377-
COMPLEMENT_BASE_IMAGE: complement-synapse:latest
378-
working-directory: complement
379365
380366
# a job which marks all the other jobs as complete, thus allowing PRs to be merged.
381367
tests-done:

.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ _trial_temp*/
1515
.DS_Store
1616
__pycache__/
1717

18+
# We do want the poetry lockfile. TODO: is there a good reason for ignoring
19+
# '*.lock' above? If not, let's nuke it.
20+
!poetry.lock
21+
1822
# stuff that is likely to exist when you run a server locally
1923
/*.db
2024
/*.log
@@ -30,6 +34,9 @@ __pycache__/
3034
/media_store/
3135
/uploads
3236

37+
# For direnv users
38+
/.envrc
39+
3340
# IDEs
3441
/.idea/
3542
/.ropeproject/

0 commit comments

Comments
 (0)