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

Commit e7ef30b

Browse files
committed
Merge tag 'v1.67.0' into beeper
Synapse 1.67.0 (2022-09-13) =========================== This release removes using the deprecated direct TCP replication configuration for workers. Server admins should use Redis instead. See the [upgrade notes](https://matrix-org.github.io/synapse/v1.67/upgrade.html#upgrading-to-v1670). The minimum version of `poetry` supported for managing source checkouts is now 1.2.0. **Notice:** from the next major release (1.68.0) installing Synapse from a source checkout will require a recent Rust compiler. Those using packages or `pip install matrix-synapse` will not be affected. See the [upgrade notes](https://matrix-org.github.io/synapse/v1.67/upgrade.html#upgrading-to-v1670). **Notice:** from the next major release (1.68.0), running Synapse with a SQLite database will require SQLite version 3.27.0 or higher. (The [current minimum version is SQLite 3.22.0](https://github.com/matrix-org/synapse/blob/release-v1.67/synapse/storage/engines/sqlite.py#L69-L78).) See [matrix-org#12983](matrix-org#12983) and the [upgrade notes](https://matrix-org.github.io/synapse/v1.67/upgrade.html#upgrading-to-v1670) for more details. No significant changes since 1.67.0rc1. Synapse 1.67.0rc1 (2022-09-06) ============================== Features -------- - Support setting the registration shared secret in a file, via a new `registration_shared_secret_path` configuration option. ([\matrix-org#13614](matrix-org#13614)) - Change the default startup behaviour so that any missing "additional" configuration files (signing key, etc) are generated automatically. ([\matrix-org#13615](matrix-org#13615)) - Improve performance of sending messages in rooms with thousands of local users. ([\matrix-org#13634](matrix-org#13634)) Bugfixes -------- - Fix a bug introduced in Synapse 1.13 where the [List Rooms admin API](https://matrix-org.github.io/synapse/develop/admin_api/rooms.html#list-room-api) would return integers instead of booleans for the `federatable` and `public` fields when using a Sqlite database. ([\matrix-org#13509](matrix-org#13509)) - Fix bug that user cannot `/forget` rooms after the last member has left the room. ([\matrix-org#13546](matrix-org#13546)) - Faster Room Joins: fix `/make_knock` blocking indefinitely when the room in question is a partial-stated room. ([\matrix-org#13583](matrix-org#13583)) - Fix loading the current stream position behind the actual position. ([\matrix-org#13585](matrix-org#13585)) - Fix a longstanding bug in `register_new_matrix_user` which meant it was always necessary to explicitly give a server URL. ([\matrix-org#13616](matrix-org#13616)) - Fix the running of [MSC1763](matrix-org/matrix-spec-proposals#1763) retention purge_jobs in deployments with background jobs running on a worker by forcing them back onto the main worker. Contributed by Brad @ Beeper. ([\matrix-org#13632](matrix-org#13632)) - Fix a long-standing bug that downloaded media for URL previews was not deleted while database background updates were running. ([\matrix-org#13657](matrix-org#13657)) - Fix [MSC3030](matrix-org/matrix-spec-proposals#3030) `/timestamp_to_event` endpoint to return the correct next event when the events have the same timestamp. ([\matrix-org#13658](matrix-org#13658)) - Fix bug where we wedge media plugins if clients disconnect early. Introduced in v1.22.0. ([\matrix-org#13660](matrix-org#13660)) - Fix a long-standing bug which meant that keys for unwhitelisted servers were not returned by `/_matrix/key/v2/query`. ([\matrix-org#13683](matrix-org#13683)) - Fix a bug introduced in Synapse v1.20.0 that would cause the unstable unread counts from [MSC2654](matrix-org/matrix-spec-proposals#2654) to be calculated even if the feature is disabled. ([\matrix-org#13694](matrix-org#13694)) Updates to the Docker image --------------------------- - Update docker image to use a stable version of poetry. ([\matrix-org#13688](matrix-org#13688)) Improved Documentation ---------------------- - Improve the description of the ["chain cover index"](https://matrix-org.github.io/synapse/latest/auth_chain_difference_algorithm.html) used internally by Synapse. ([\matrix-org#13602](matrix-org#13602)) - Document how ["monthly active users"](https://matrix-org.github.io/synapse/latest/usage/administration/monthly_active_users.html) is calculated and used. ([\matrix-org#13617](matrix-org#13617)) - Improve documentation around user registration. ([\matrix-org#13640](matrix-org#13640)) - Remove documentation of legacy `frontend_proxy` worker app. ([\matrix-org#13645](matrix-org#13645)) - Clarify documentation that HTTP replication traffic can be protected with a shared secret. ([\matrix-org#13656](matrix-org#13656)) - Remove unintentional colons from [config manual](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html) headers. ([\matrix-org#13665](matrix-org#13665)) - Update docs to make enabling metrics more clear. ([\matrix-org#13678](matrix-org#13678)) - Clarify `(room_id, event_id)` global uniqueness and how we should scope our database schemas. ([\matrix-org#13701](matrix-org#13701)) Deprecations and Removals ------------------------- - Drop support for calling `/_matrix/client/v3/rooms/{roomId}/invite` without an `id_access_token`, which was not permitted by the spec. Contributed by @Vetchu. ([\matrix-org#13241](matrix-org#13241)) - Remove redundant `_get_joined_users_from_context` cache. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13569](matrix-org#13569)) - Remove the ability to use direct TCP replication with workers. Direct TCP replication was deprecated in Synapse v1.18.0. Workers now require using Redis. ([\matrix-org#13647](matrix-org#13647)) - Remove support for unstable [private read receipts](matrix-org/matrix-spec-proposals#2285). ([\matrix-org#13653](matrix-org#13653), [\matrix-org#13692](matrix-org#13692)) Internal Changes ---------------- - Extend the release script to wait for GitHub Actions to finish and to be usable as a guide for the whole process. ([\matrix-org#13483](matrix-org#13483)) - Add experimental configuration option to allow disabling legacy Prometheus metric names. ([\matrix-org#13540](matrix-org#13540)) - Cache user IDs instead of profiles to reduce cache memory usage. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13573](matrix-org#13573), [\matrix-org#13600](matrix-org#13600)) - Optimize how Synapse calculates domains to fetch from during backfill. ([\matrix-org#13575](matrix-org#13575)) - Comment about a better future where we can get the state diff between two events. ([\matrix-org#13586](matrix-org#13586)) - Instrument `_check_sigs_and_hash_and_fetch` to trace time spent in child concurrent calls for understandable traces in Jaeger. ([\matrix-org#13588](matrix-org#13588)) - Improve performance of `@cachedList`. ([\matrix-org#13591](matrix-org#13591)) - Minor speed up of fetching large numbers of push rules. ([\matrix-org#13592](matrix-org#13592)) - Optimise push action fetching queries. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13597](matrix-org#13597)) - Rename `event_map` to `unpersisted_events` when computing the auth differences. ([\matrix-org#13603](matrix-org#13603)) - Refactor `get_users_in_room(room_id)` mis-use with dedicated `get_current_hosts_in_room(room_id)` function. ([\matrix-org#13605](matrix-org#13605)) - Use dedicated `get_local_users_in_room(room_id)` function to find local users when calculating `join_authorised_via_users_server` of a `/make_join` request. ([\matrix-org#13606](matrix-org#13606)) - Refactor `get_users_in_room(room_id)` mis-use to lookup single local user with dedicated `check_local_user_in_room(...)` function. ([\matrix-org#13608](matrix-org#13608)) - Drop unused column `application_services_state.last_txn`. ([\matrix-org#13627](matrix-org#13627)) - Improve readability of Complement CI logs by printing failure results last. ([\matrix-org#13639](matrix-org#13639)) - Generalise the `@cancellable` annotation so it can be used on functions other than just servlet methods. ([\matrix-org#13662](matrix-org#13662)) - Introduce a `CommonUsageMetrics` class to share some usage metrics between the Prometheus exporter and the phone home stats. ([\matrix-org#13671](matrix-org#13671)) - Add some logging to help track down matrix-org#13444. ([\matrix-org#13679](matrix-org#13679)) - Update poetry lock file for v1.2.0. ([\matrix-org#13689](matrix-org#13689)) - Add cache to `is_partial_state_room`. ([\matrix-org#13693](matrix-org#13693)) - Update the Grafana dashboard that is included with Synapse in the `contrib` directory. ([\matrix-org#13697](matrix-org#13697)) - Only run trial CI on all python versions on non-PRs. ([\matrix-org#13698](matrix-org#13698)) - Fix typechecking with latest types-jsonschema. ([\matrix-org#13712](matrix-org#13712)) - Reduce number of CI checks we run for PRs. ([\matrix-org#13713](matrix-org#13713)) # -----BEGIN PGP SIGNATURE----- # # iQFEBAABCgAuFiEEBTGR3/RnAzBGUif3pULk7RsPrAkFAmMgR2QQHGVyaWtAbWF0 # cml4Lm9yZwAKCRClQuTtGw+sCfG7B/94PwW1ChsaI8hkz/3e+93PEl/mNJ6YFaEB # 5pP4Dh/0dipP/iKbpgNuj5xz/JFnIi8D49A8sKNnku3jk0/8AZHgqDiBgOkrN76z # Y3awo5Q9ag4xww/105V3bhdnX1NrX8Avf6F2jchDv6/9q8wQHGBPg6DMgfZ/m/BL # SB4dypbbNpgLykuwtWxx6YMUYH+trsXJOn/MoAqld3QcZsqkDR25wXCt9+Dr+6AT # dPd/czi8kV8ruU59tf2K5HB7XKzBW9S3Qb3dJJmGOTTJ7ccUkN/XuTwqnII950Mo # bSlMXjY2hqk8rKUNhGZpi9bqUkwNhMgOkZl9A0Y1XtsXx6yjy0T/ # =zSGi # -----END PGP SIGNATURE----- # gpg: Signature made Tue Sep 13 10:03:32 2022 BST # gpg: using RSA key 053191DFF4670330465227F7A542E4ED1B0FAC09 # gpg: issuer "[email protected]" # gpg: Can't check signature: No public key # Conflicts: # synapse/config/experimental.py # synapse/push/bulk_push_rule_evaluator.py # synapse/storage/databases/main/event_push_actions.py # synapse/util/caches/descriptors.py
2 parents ce3a764 + 80bb098 commit e7ef30b

File tree

131 files changed

+2855
-1370
lines changed

Some content is hidden

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

131 files changed

+2855
-1370
lines changed

.ci/complement_package.gotpl

+6-8
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ which is under the Unlicense licence.
2727
{{- . -}}{{- "\n" -}}
2828
{{- end -}}
2929
{{- with .TestCases -}}
30-
{{- /* Failing tests are first */ -}}
30+
{{- /* Passing tests are first */ -}}
3131
{{- range . -}}
32-
{{- if and (ne .Result "PASS") (ne .Result "SKIP") -}}
33-
::group::{{ "\033" }}[0;31m❌{{ " " }}{{- .Name -}}
32+
{{- if eq .Result "PASS" -}}
33+
::group::{{ "\033" }}[0;32m✅{{ " " }}{{- .Name -}}
3434
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
3535
{{- with .Coverage -}}
3636
, coverage: {{ . }}%
@@ -47,7 +47,6 @@ which is under the Unlicense licence.
4747
{{- end -}}
4848
{{- end -}}
4949

50-
5150
{{- /* Then skipped tests are second */ -}}
5251
{{- range . -}}
5352
{{- if eq .Result "SKIP" -}}
@@ -68,11 +67,10 @@ which is under the Unlicense licence.
6867
{{- end -}}
6968
{{- end -}}
7069

71-
72-
{{- /* Then passing tests are last */ -}}
70+
{{- /* and failing tests are last */ -}}
7371
{{- range . -}}
74-
{{- if eq .Result "PASS" -}}
75-
::group::{{ "\033" }}[0;32m✅{{ " " }}{{- .Name -}}
72+
{{- if and (ne .Result "PASS") (ne .Result "SKIP") -}}
73+
::group::{{ "\033" }}[0;31m❌{{ " " }}{{- .Name -}}
7674
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
7775
{{- with .Coverage -}}
7876
, coverage: {{ . }}%

.ci/scripts/calculate_jobs.py

+128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
#!/usr/bin/env python
2+
# Copyright 2022 The Matrix.org Foundation C.I.C.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
# Calculate the trial jobs to run based on if we're in a PR or not.
17+
18+
import json
19+
import os
20+
21+
IS_PR = os.environ["GITHUB_REF"].startswith("refs/pull/")
22+
23+
# First calculate the various trial jobs.
24+
#
25+
# For each type of test we only run on Py3.7 on PRs
26+
27+
trial_sqlite_tests = [
28+
{
29+
"python-version": "3.7",
30+
"database": "sqlite",
31+
"extras": "all",
32+
}
33+
]
34+
35+
if not IS_PR:
36+
trial_sqlite_tests.extend(
37+
{
38+
"python-version": version,
39+
"database": "sqlite",
40+
"extras": "all",
41+
}
42+
for version in ("3.8", "3.9", "3.10")
43+
)
44+
45+
46+
trial_postgres_tests = [
47+
{
48+
"python-version": "3.7",
49+
"database": "postgres",
50+
"postgres-version": "10",
51+
"extras": "all",
52+
}
53+
]
54+
55+
if not IS_PR:
56+
trial_postgres_tests.append(
57+
{
58+
"python-version": "3.10",
59+
"database": "postgres",
60+
"postgres-version": "14",
61+
"extras": "all",
62+
}
63+
)
64+
65+
trial_no_extra_tests = [
66+
{
67+
"python-version": "3.7",
68+
"database": "sqlite",
69+
"extras": "",
70+
}
71+
]
72+
73+
print("::group::Calculated trial jobs")
74+
print(
75+
json.dumps(
76+
trial_sqlite_tests + trial_postgres_tests + trial_no_extra_tests, indent=4
77+
)
78+
)
79+
print("::endgroup::")
80+
81+
test_matrix = json.dumps(
82+
trial_sqlite_tests + trial_postgres_tests + trial_no_extra_tests
83+
)
84+
print(f"::set-output name=trial_test_matrix::{test_matrix}")
85+
86+
87+
# First calculate the various sytest jobs.
88+
#
89+
# For each type of test we only run on focal on PRs
90+
91+
92+
sytest_tests = [
93+
{
94+
"sytest-tag": "focal",
95+
},
96+
{
97+
"sytest-tag": "focal",
98+
"postgres": "postgres",
99+
},
100+
{
101+
"sytest-tag": "focal",
102+
"postgres": "multi-postgres",
103+
"workers": "workers",
104+
},
105+
]
106+
107+
if not IS_PR:
108+
sytest_tests.extend(
109+
[
110+
{
111+
"sytest-tag": "testing",
112+
"postgres": "postgres",
113+
},
114+
{
115+
"sytest-tag": "buster",
116+
"postgres": "multi-postgres",
117+
"workers": "workers",
118+
},
119+
]
120+
)
121+
122+
123+
print("::group::Calculated sytest jobs")
124+
print(json.dumps(sytest_tests, indent=4))
125+
print("::endgroup::")
126+
127+
test_matrix = json.dumps(sytest_tests)
128+
print(f"::set-output name=sytest_test_matrix::{test_matrix}")

.ci/scripts/gotestfmt

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
#
3+
# wraps `gotestfmt`, hiding output from successful packages unless
4+
# all tests passed.
5+
6+
set -o pipefail
7+
set -e
8+
9+
# tee the test results to a log, whilst also piping them into gotestfmt,
10+
# telling it to hide successful results, so that we can clearly see
11+
# unsuccessful results.
12+
tee complement.log | gotestfmt -hide successful-packages
13+
14+
# gotestfmt will exit non-zero if there were any failures, so if we got to this
15+
# point, we must have had a successful result.
16+
echo "All tests successful; showing all test results"
17+
18+
# Pipe the test results back through gotestfmt, showing all results.
19+
# The log file consists of JSON lines giving the test results, interspersed
20+
# with regular stdout lines (including reports of downloaded packages).
21+
grep '^{"Time":' complement.log | gotestfmt

.github/workflows/latest_deps.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ jobs:
163163

164164
- run: |
165165
set -o pipefail
166-
TEST_ONLY_IGNORE_POETRY_LOCKFILE=1 POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
166+
TEST_ONLY_IGNORE_POETRY_LOCKFILE=1 POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | synapse/.ci/scripts/gotestfmt
167167
shell: bash
168168
name: Run Complement Tests
169169

.github/workflows/tests.yml

+31-58
Original file line numberDiff line numberDiff line change
@@ -73,53 +73,48 @@ jobs:
7373
steps:
7474
- run: "true"
7575

76-
trial:
76+
calculate-test-jobs:
7777
if: ${{ !cancelled() && !failure() }} # Allow previous steps to be skipped, but not fail
7878
needs: linting-done
7979
runs-on: ubuntu-latest
80+
steps:
81+
- uses: actions/checkout@v2
82+
- uses: actions/setup-python@v2
83+
- id: get-matrix
84+
run: .ci/scripts/calculate_jobs.py
85+
outputs:
86+
trial_test_matrix: ${{ steps.get-matrix.outputs.trial_test_matrix }}
87+
sytest_test_matrix: ${{ steps.get-matrix.outputs.sytest_test_matrix }}
88+
89+
trial:
90+
if: ${{ !cancelled() && !failure() }} # Allow previous steps to be skipped, but not fail
91+
needs: calculate-test-jobs
92+
runs-on: ubuntu-latest
8093
strategy:
8194
matrix:
82-
python-version: ["3.7", "3.8", "3.9", "3.10"]
83-
database: ["sqlite"]
84-
extras: ["all"]
85-
include:
86-
# Newest Python without optional deps
87-
- python-version: "3.10"
88-
extras: ""
89-
90-
# Oldest Python with PostgreSQL
91-
- python-version: "3.7"
92-
database: "postgres"
93-
postgres-version: "10"
94-
extras: "all"
95-
96-
# Newest Python with newest PostgreSQL
97-
- python-version: "3.10"
98-
database: "postgres"
99-
postgres-version: "14"
100-
extras: "all"
95+
job: ${{ fromJson(needs.calculate-test-jobs.outputs.trial_test_matrix) }}
10196

10297
steps:
10398
- uses: actions/checkout@v2
10499
- run: sudo apt-get -qq install xmlsec1
105-
- name: Set up PostgreSQL ${{ matrix.postgres-version }}
106-
if: ${{ matrix.postgres-version }}
100+
- name: Set up PostgreSQL ${{ matrix.job.postgres-version }}
101+
if: ${{ matrix.job.postgres-version }}
107102
run: |
108103
docker run -d -p 5432:5432 \
109104
-e POSTGRES_PASSWORD=postgres \
110105
-e POSTGRES_INITDB_ARGS="--lc-collate C --lc-ctype C --encoding UTF8" \
111-
postgres:${{ matrix.postgres-version }}
106+
postgres:${{ matrix.job.postgres-version }}
112107
- uses: matrix-org/setup-python-poetry@v1
113108
with:
114-
python-version: ${{ matrix.python-version }}
115-
extras: ${{ matrix.extras }}
109+
python-version: ${{ matrix.job.python-version }}
110+
extras: ${{ matrix.job.extras }}
116111
- name: Await PostgreSQL
117-
if: ${{ matrix.postgres-version }}
112+
if: ${{ matrix.job.postgres-version }}
118113
timeout-minutes: 2
119114
run: until pg_isready -h localhost; do sleep 1; done
120115
- run: poetry run trial --jobs=2 tests
121116
env:
122-
SYNAPSE_POSTGRES: ${{ matrix.database == 'postgres' || '' }}
117+
SYNAPSE_POSTGRES: ${{ matrix.job.database == 'postgres' || '' }}
123118
SYNAPSE_POSTGRES_HOST: localhost
124119
SYNAPSE_POSTGRES_USER: postgres
125120
SYNAPSE_POSTGRES_PASSWORD: postgres
@@ -198,45 +193,24 @@ jobs:
198193
199194
sytest:
200195
if: ${{ !failure() && !cancelled() }}
201-
needs: linting-done
196+
needs: calculate-test-jobs
202197
runs-on: ubuntu-latest
203198
container:
204-
image: matrixdotorg/sytest-synapse:${{ matrix.sytest-tag }}
199+
image: matrixdotorg/sytest-synapse:${{ matrix.job.sytest-tag }}
205200
volumes:
206201
- ${{ github.workspace }}:/src
207202
env:
208203
SYTEST_BRANCH: ${{ github.head_ref }}
209-
POSTGRES: ${{ matrix.postgres && 1}}
210-
MULTI_POSTGRES: ${{ (matrix.postgres == 'multi-postgres') && 1}}
211-
WORKERS: ${{ matrix.workers && 1 }}
212-
REDIS: ${{ matrix.redis && 1 }}
213-
BLACKLIST: ${{ matrix.workers && 'synapse-blacklist-with-workers' }}
204+
POSTGRES: ${{ matrix.job.postgres && 1}}
205+
MULTI_POSTGRES: ${{ (matrix.job.postgres == 'multi-postgres') && 1}}
206+
WORKERS: ${{ matrix.job.workers && 1 }}
207+
BLACKLIST: ${{ matrix.job.workers && 'synapse-blacklist-with-workers' }}
214208
TOP: ${{ github.workspace }}
215209

216210
strategy:
217211
fail-fast: false
218212
matrix:
219-
include:
220-
- sytest-tag: focal
221-
222-
- sytest-tag: focal
223-
postgres: postgres
224-
225-
- sytest-tag: testing
226-
postgres: postgres
227-
228-
- sytest-tag: focal
229-
postgres: multi-postgres
230-
workers: workers
231-
232-
- sytest-tag: buster
233-
postgres: multi-postgres
234-
workers: workers
235-
236-
- sytest-tag: buster
237-
postgres: postgres
238-
workers: workers
239-
redis: redis
213+
job: ${{ fromJson(needs.calculate-test-jobs.outputs.sytest_test_matrix) }}
240214

241215
steps:
242216
- uses: actions/checkout@v2
@@ -252,7 +226,7 @@ jobs:
252226
uses: actions/upload-artifact@v2
253227
if: ${{ always() }}
254228
with:
255-
name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.*, ', ') }})
229+
name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.job.*, ', ') }})
256230
path: |
257231
/logs/results.tap
258232
/logs/**/*.log*
@@ -283,7 +257,6 @@ jobs:
283257
- run: sudo apt-get -qq install xmlsec1
284258
- uses: matrix-org/setup-python-poetry@v1
285259
with:
286-
python-version: ${{ matrix.python-version }}
287260
extras: "postgres"
288261
- run: .ci/scripts/test_export_data_command.sh
289262

@@ -354,7 +327,7 @@ jobs:
354327

355328
- run: |
356329
set -o pipefail
357-
POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
330+
POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | synapse/.ci/scripts/gotestfmt
358331
shell: bash
359332
name: Run Complement Tests
360333

.github/workflows/triage-incoming.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Move new issues into the issue triage board
2+
3+
on:
4+
issues:
5+
types: [ opened ]
6+
7+
jobs:
8+
add_new_issues:
9+
name: Add new issues to the triage board
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: octokit/[email protected]
13+
id: add_to_project
14+
with:
15+
headers: '{"GraphQL-Features": "projects_next_graphql"}'
16+
query: |
17+
mutation add_to_project($projectid:ID!,$contentid:ID!) {
18+
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
19+
item {
20+
id
21+
}
22+
}
23+
}
24+
projectid: ${{ env.PROJECT_ID }}
25+
contentid: ${{ github.event.issue.node_id }}
26+
env:
27+
PROJECT_ID: "PVT_kwDOAIB0Bs4AFDdZ"
28+
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

0 commit comments

Comments
 (0)