Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
e59e549
Bump actions/setup-go from 6.1.0 to 6.2.0 in the minor-and-patches gr…
dependabot[bot] Feb 2, 2026
065ff19
Bump serde_json from 1.0.145 to 1.0.148 in the patches group across 1…
dependabot[bot] Feb 3, 2026
84d5919
Add notes that new experimental features should have associated track…
reivilibre Feb 3, 2026
98a540a
Fix a typo in check_dependencies.py which makes setuptools_rust a run…
renaudallard Feb 3, 2026
3048ff8
1.147.0rc1
devonh Feb 3, 2026
292e1aa
Bump bytes from 1.11.0 to 1.11.1 (#19432)
dependabot[bot] Feb 3, 2026
8d4ebc2
Fix reference to the experimental_features section of config in the d…
hughns Feb 4, 2026
f6105b7
Remove support for MSC3244: Room version capabilities as the MSC was …
reivilibre Feb 5, 2026
46d235c
Add in-repo Complement tests (#19406)
MadLittleMods Feb 5, 2026
d423ab0
1.147.0
sandhose Feb 10, 2026
a6152ce
Fixup changelog
sandhose Feb 10, 2026
1841ded
Merge branch 'master' into develop
sandhose Feb 10, 2026
52fb6e9
Support sending and receiving MSC4354 Sticky Event metadata. (#19365)
reivilibre Feb 11, 2026
be36242
Refuse requests and events signed by banned signing keys (#19459)
sandhose Feb 12, 2026
3fdeba3
1.147.1
sandhose Feb 12, 2026
7ff8687
Fuxup changelog
sandhose Feb 12, 2026
7e4588a
Merge branch 'master' into develop
sandhose Feb 12, 2026
a52ffd6
Bump cryptography from 46.0.3 to 46.0.5 (#19450)
dependabot[bot] Feb 17, 2026
27b2915
Bump tokio from 1.48.0 to 1.49.0 (#19443)
dependabot[bot] Feb 17, 2026
5be475f
Allow configuring the Rust HTTP client to use HTTP/2 only (#19457)
sandhose Feb 17, 2026
1592afb
Bump github.com/docker/docker from 28.2.2+incompatible to 28.3.3+inco…
dependabot[bot] Feb 17, 2026
7a765c4
Bump the minor-and-patches group across 1 directory with 3 updates (#…
dependabot[bot] Feb 17, 2026
b0b4203
Fix `/sync` missing membership in `state_after` (#19463)
MadLittleMods Feb 17, 2026
69b931f
Push Synapse docker images to Element OCI Registry (#19420)
devonh Feb 17, 2026
3669d6e
Bump reqwest from 0.12.26 to 0.12.28 (#19444)
dependabot[bot] Feb 17, 2026
e627b08
Add cargo.lock to Rust build hash (#19470)
erikjohnston Feb 17, 2026
bd0756c
Revert "Fix `/sync` missing membership in `state_after`" (#19474)
sandhose Feb 17, 2026
40171d0
1.148.0rc1
sandhose Feb 17, 2026
32c5f01
Minor reword
sandhose Feb 17, 2026
b80774e
Better instrument `JoinRoomAliasServlet` with tracing (#19461)
MadLittleMods Feb 17, 2026
3833eb4
Merge branch 'release-v1.148' into develop
sandhose Feb 17, 2026
b2778da
Fix Complement CI not running against the code from our PRs (remote i…
MadLittleMods Feb 18, 2026
04206ae
Log `docker system info` in CI (#19480)
MadLittleMods Feb 19, 2026
0ac772f
Bump pillow from 12.0.0 to 12.1.1 (#19454)
dependabot[bot] Feb 20, 2026
9b738d2
Bump the patches group with 2 updates (#19488)
dependabot[bot] Feb 20, 2026
4500652
Rename the `test_disconnect` test helper so that pytest doesn't see i…
reivilibre Feb 20, 2026
16245f0
Fix the 'Login as a user' Admin API not checking if the user exists b…
reivilibre Feb 20, 2026
b30607c
1.148.0
sandhose Feb 24, 2026
3d30735
Merge branch 'master' into develop
sandhose Feb 24, 2026
bc15ed3
DeviceHandler: Add a log line when we delete a device (#19496)
bradtgmurray Feb 24, 2026
ac3a115
Log if we ever `gc.freeze()` (#19440)
MadLittleMods Feb 25, 2026
f78d011
Experimental implementation of unstable MSC4388 for Sign in with QR (…
hughns Feb 25, 2026
2c73e8d
Allow long lived syncs to be cancelled if client has gone away (#19499)
erikjohnston Feb 26, 2026
9de28df
Bump docker/login-action from 3.6.0 to 3.7.0 in the minor-and-patches…
dependabot[bot] Feb 27, 2026
b9ea228
Add stable support for MSC4380 invite blocking. (#19431)
richvdh Feb 27, 2026
979566e
Pre-allocate the buffer based on the expected `Content-Length` with t…
MadLittleMods Feb 27, 2026
0d3e42f
Yield to reactor in large loops (#19507)
erikjohnston Mar 2, 2026
825f308
Replace deprecated collection import locations with current locations…
reivilibre Mar 2, 2026
2deeef4
Bump futures from 0.3.31 to 0.3.32 in the patches group (#19513)
dependabot[bot] Mar 3, 2026
094a48e
Bump all locked dependencies to their latest versions. (#19519)
sandhose Mar 3, 2026
c3af443
Fix `/sync` missing membership in `state_after` (re-introduce) (#19460)
MadLittleMods Mar 3, 2026
160d978
Simplify Rust HTTP client response streaming and limiting (#19510)
MadLittleMods Mar 3, 2026
639922e
1.149.0rc1
sandhose Mar 3, 2026
51048b8
Update docs to clarify `outbound_federation_restricted_to` can also b…
MadLittleMods Mar 3, 2026
fd61b8e
Merge branch 'release-v1.149' into develop
sandhose Mar 3, 2026
c2c0587
Bump docker/build-push-action from 6.18.0 to 6.19.2 in the minor-and-…
dependabot[bot] Mar 3, 2026
46c6e0a
Unify Complement developer docs (#19518)
MadLittleMods Mar 3, 2026
699a898
Backgrounds membership updates when changing the avatar or the displa…
MatMaul Mar 5, 2026
6e21f9c
Add unstable federation API for MSC4370 `GET /extremities` (#19314)
turt2live Mar 5, 2026
16125ce
Remove the optional `systemd-python` dependency (#19491)
sandhose Mar 9, 2026
6e1ac55
Expose MSC4354 Sticky Events over the legacy (v3) /sync API. (#19487)
reivilibre Mar 10, 2026
86dc386
1.149.0
sandhose Mar 10, 2026
1caa602
Merge branch 'master' into develop
sandhose Mar 10, 2026
f37a30d
Bump `matrix-synapse-ldap3` to v0.4.0 in `poetry.lock` (#19543)
anoadragon453 Mar 11, 2026
b99a587
1.149.1
sandhose Mar 11, 2026
59c9e92
Merge branch 'master' into develop
sandhose Mar 11, 2026
ae23928
Fix a bug introduced in v1.26.0 that caused deactivated, erased users…
reivilibre Mar 11, 2026
e300018
Add in-repo Complement test to sanity check Synapse version matches g…
MadLittleMods Mar 11, 2026
18f717d
Bump tornado from 6.5.4 to 6.5.5 (#19551)
dependabot[bot] Mar 12, 2026
8d03a4d
Avoid re-computing the event ID when cloning events. (#19527)
sandhose Mar 12, 2026
3ce5508
Bump quinn-proto from 0.11.12 to 0.11.14 (#19544)
dependabot[bot] Mar 12, 2026
4c475dc
Allow the caching of the /versions and /auth_metadata endpoints (#19530)
sandhose Mar 12, 2026
c0924fb
MSC4140: put delay_id in unsigned data for sender (#19479)
AndrewFerr Mar 16, 2026
eedd4c8
Bump pyjwt from 2.11.0 to 2.12.0 (#19560)
dependabot[bot] Mar 16, 2026
cdd261b
Bump pyopenssl from 25.3.0 to 26.0.0 (#19574)
dependabot[bot] Mar 16, 2026
a71c468
Bump the patches group with 2 updates (#19536)
dependabot[bot] Mar 16, 2026
3aa948c
When Matrix Authentication Service (MAS) integration is enabled, allo…
reivilibre Mar 16, 2026
6254e00
Fix `Build and push complement image` CI job pointing to non-existent…
MadLittleMods Mar 17, 2026
c37a5bb
Restore `localhost/complement-synapse` change from #19523
MadLittleMods Mar 17, 2026
8a6d9a8
Admin API docs: use consistent path param syntax (#19307)
AndrewFerr Mar 17, 2026
8ad7e8a
Add some light labels to the `Processed request` logs (#19548)
MadLittleMods Mar 17, 2026
6a63f0d
Migrate dev dependencies to PEP 735 dependency groups (#19490)
sandhose Mar 17, 2026
7d8e874
1.150.0rc1
sandhose Mar 17, 2026
d65ef84
Fix `Build and push complement image` CI job not having Poetry for `c…
MadLittleMods Mar 17, 2026
0d4accb
Remove support for MSC3852: Expose user agent information on Device a…
reivilibre Mar 17, 2026
3d960d8
Add MSC3820 comment context to `RoomVersion` attributes (#19577)
MadLittleMods Mar 18, 2026
8201e58
Update and stabilize mutual rooms support (MSC2666) (#19511)
tulir Mar 18, 2026
261bfb7
Fix zeroing out remote quarantined media count (#19559)
turt2live Mar 18, 2026
edf5ce2
Allow using HTTP/2 over plaintext when introspecting tokens with MAS …
sandhose Mar 18, 2026
9069763
Bump actions/setup-go from 6.2.0 to 6.3.0 in the minor-and-patches gr…
dependabot[bot] Mar 18, 2026
9fe7cbf
Bump actions/upload-artifact from 6.0.0 to 7.0.0 (#19565)
dependabot[bot] Mar 18, 2026
f490c49
Bump pyasn1 from 0.6.2 to 0.6.3 (#19584)
dependabot[bot] Mar 19, 2026
9edbf56
Prevent sending registration emails if registration is disabled (#19585)
anoadragon453 Mar 19, 2026
2c412ba
complement.sh: ensure old complement checkout files are deleted; remo…
anoadragon453 Mar 20, 2026
b4282b8
Updates for experimental MSC4388 support (sign-in with QR code) (#19573)
hughns Mar 20, 2026
40d699b
Stable support for MSC4284 policy servers (#19503)
turt2live Mar 20, 2026
713aa7e
Hide successful, skipped Complement tests in the CI (#19590)
anoadragon453 Mar 23, 2026
963fc9e
Bump docker/metadata-action from 5.10.0 to 6.0.0 (#19600)
dependabot[bot] Mar 24, 2026
e0b08da
Bump docker/build-push-action from 6.19.2 to 7.0.0 (#19599)
dependabot[bot] Mar 24, 2026
71092aa
Bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#19598)
dependabot[bot] Mar 24, 2026
57ef7b9
Bump docker/login-action from 3.7.0 to 4.0.0 (#19597)
dependabot[bot] Mar 24, 2026
4b19411
Bump rustls-webpki from 0.103.4 to 0.103.10 (#19594)
dependabot[bot] Mar 24, 2026
33d47f4
1.150.0
sandhose Mar 24, 2026
8c3daff
Merge branch 'master' into develop
sandhose Mar 24, 2026
7fad50f
Limit outgoing to_device EDU size to 65536 (#18416)
MatMaul Mar 24, 2026
6c7e05f
Allow Synapse to start up even when discovery fails for an OpenID Con…
reivilibre Mar 24, 2026
40d35a9
Bump tokio from 1.49.0 to 1.50.0 (#19596)
dependabot[bot] Mar 25, 2026
f2b325f
Demystify and deprecate `HomeserverTestCase.pump()` (Twisted reactor/…
MadLittleMods Mar 25, 2026
f545aa4
Port `RoomVersion` to Rust (#19589)
erikjohnston Mar 26, 2026
539f708
Remove `redacted_because` from internal unsigned. (#19581)
erikjohnston Mar 26, 2026
0549307
Revert "Limit outgoing to_device EDU size to 65536" (#19614)
erikjohnston Mar 27, 2026
f772fad
Fix small comment typo in config output from the `demo/start.sh` scri…
nerdoc Mar 30, 2026
0e083b1
Merge branch 'develop' into jason/update-psycopg3
jason-famedly Mar 30, 2026
63c7f03
update poetry lock
jason-famedly Mar 30, 2026
70c6796
Increase timeout for policy server requests (#19629)
turt2live Mar 30, 2026
582f976
Unprefix room_version & encryption from hierarchy API (#19576)
cloudrac3r Mar 31, 2026
4fc1b92
Bump actions/download-artifact from 7.0.0 to 8.0.1 (#19626)
dependabot[bot] Mar 31, 2026
90449b9
Bump the minor-and-patches group with 2 updates (#19624)
dependabot[bot] Mar 31, 2026
ec4b050
Bump requests from 2.32.5 to 2.33.0 (#19610)
dependabot[bot] Mar 31, 2026
84b3e5a
Bump dorny/paths-filter from 3.0.2 to 4.0.1 (#19625)
dependabot[bot] Mar 31, 2026
df1752e
Bump cryptography from 46.0.5 to 46.0.6 (#19622)
dependabot[bot] Mar 31, 2026
0ac72bc
Bump phonenumbers from 9.0.25 to 9.0.26 in the minor-and-patches grou…
dependabot[bot] Mar 31, 2026
51aa319
Bump once_cell from 1.21.3 to 1.21.4 in the patches group (#19623)
dependabot[bot] Mar 31, 2026
b0fc0b7
Lower the database `statement_timeout` to 10m (#19604)
MadLittleMods Mar 31, 2026
72711a3
1.151.0rc1
sandhose Mar 31, 2026
e1a429a
Run lint script to format Complement tests introduced in #19509 (#19636)
MadLittleMods Mar 31, 2026
2e9b820
Document context for why increase timeout for policy server requests …
MadLittleMods Mar 31, 2026
cb69895
Bump pygments from 2.19.2 to 2.20.0 (#19632)
dependabot[bot] Apr 2, 2026
62f23fe
include workaround for macos (#19615)
neilisfragile Apr 2, 2026
8291a49
resolves #19403 Report the rust compiler version used in the promethe…
RamReso Apr 3, 2026
0af6799
Merge branch 'develop' into jason/update-psycopg3
jason-famedly Apr 6, 2026
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
5 changes: 3 additions & 2 deletions .ci/complement_package.gotpl
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ which is under the Unlicense licence.
{{- with .TestCases -}}
{{- /* Passing tests are first */ -}}
{{- range . -}}
{{- if eq .Result "PASS" -}}
{{- if and (eq .Result "PASS") (not $settings.HideSuccessfulTests) -}}
::group::{{ "\033" }}[0;32m✅{{ " " }}{{- .Name -}}
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
{{- with .Coverage -}}
Expand All @@ -49,7 +49,8 @@ which is under the Unlicense licence.

{{- /* Then skipped tests are second */ -}}
{{- range . -}}
{{- if eq .Result "SKIP" -}}
{{- /* Skipped tests are also purposefully hidden if "HideSuccessfulTests" is enabled */ -}}
{{- if and (eq .Result "SKIP") (not $settings.HideSuccessfulTests) -}}
::group::{{ "\033" }}[0;33m🚧{{ " " }}{{- .Name -}}
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
{{- with .Coverage -}}
Expand Down
21 changes: 0 additions & 21 deletions .ci/scripts/gotestfmt

This file was deleted.

1 change: 0 additions & 1 deletion .ci/scripts/setup_complement_prerequisites.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ alias block='{ set +x; } 2>/dev/null; func() { echo "::group::$*"; set -x; }; fu
alias endblock='{ set +x; } 2>/dev/null; func() { echo "::endgroup::"; set -x; }; func'

block Install Complement Dependencies
sudo apt-get -qq update && sudo apt-get install -qqy libolm3 libolm-dev
go install -v github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
endblock

Expand Down
86 changes: 76 additions & 10 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
steps:
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0

- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -41,21 +41,53 @@ jobs:
echo "SYNAPSE_VERSION=$(grep "^version" pyproject.toml | sed -E 's/version\s*=\s*["]([^"]*)["]/\1/')" >> $GITHUB_ENV

- name: Log in to DockerHub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Log in to GHCR
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Tailscale
uses: tailscale/github-action@306e68a486fd2350f2bfc3b19fcd143891a4a2d8 # v4.1.2
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
audience: ${{ secrets.TS_AUDIENCE }}
tags: tag:github-actions

- name: Compute vault jwt role name
id: vault-jwt-role
run: |
echo "role_name=github_service_management_$( echo "${{ github.repository }}" | sed -r 's|[/-]|_|g')" | tee -a "$GITHUB_OUTPUT"

- name: Get team registry token
id: import-secrets
uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0
with:
url: https://vault.infra.ci.i.element.dev
role: ${{ steps.vault-jwt-role.outputs.role_name }}
path: service-management/github-actions
jwtGithubAudience: https://vault.infra.ci.i.element.dev
method: jwt
secrets: |
services/backend-repositories/secret/data/oci.element.io username | OCI_USERNAME ;
services/backend-repositories/secret/data/oci.element.io password | OCI_PASSWORD ;

- name: Login to Element OCI Registry
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: oci-push.vpn.infra.element.io
username: ${{ steps.import-secrets.outputs.OCI_USERNAME }}
password: ${{ steps.import-secrets.outputs.OCI_PASSWORD }}

- name: Build and push by digest
id: build
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
with:
push: true
labels: |
Expand All @@ -64,6 +96,7 @@ jobs:
tags: |
docker.io/matrixdotorg/synapse
ghcr.io/element-hq/synapse
oci-push.vpn.infra.element.io/synapse
file: "docker/Dockerfile"
platforms: ${{ matrix.platform }}
outputs: type=image,push-by-digest=true,name-canonical=true,push=true
Expand All @@ -75,7 +108,7 @@ jobs:
touch "${{ runner.temp }}/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: digests-${{ matrix.suffix }}
path: ${{ runner.temp }}/digests/*
Expand All @@ -90,40 +123,73 @@ jobs:
repository:
- docker.io/matrixdotorg/synapse
- ghcr.io/element-hq/synapse
- oci-push.vpn.infra.element.io/synapse

needs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
path: ${{ runner.temp }}/digests
pattern: digests-*
merge-multiple: true

- name: Log in to DockerHub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
if: ${{ startsWith(matrix.repository, 'docker.io') }}
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Log in to GHCR
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
if: ${{ startsWith(matrix.repository, 'ghcr.io') }}
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Tailscale
uses: tailscale/github-action@306e68a486fd2350f2bfc3b19fcd143891a4a2d8 # v4.1.2
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
audience: ${{ secrets.TS_AUDIENCE }}
tags: tag:github-actions

- name: Compute vault jwt role name
id: vault-jwt-role
run: |
echo "role_name=github_service_management_$( echo "${{ github.repository }}" | sed -r 's|[/-]|_|g')" | tee -a "$GITHUB_OUTPUT"

- name: Get team registry token
id: import-secrets
uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0
with:
url: https://vault.infra.ci.i.element.dev
role: ${{ steps.vault-jwt-role.outputs.role_name }}
path: service-management/github-actions
jwtGithubAudience: https://vault.infra.ci.i.element.dev
method: jwt
secrets: |
services/backend-repositories/secret/data/oci.element.io username | OCI_USERNAME ;
services/backend-repositories/secret/data/oci.element.io password | OCI_PASSWORD ;

- name: Login to Element OCI Registry
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: oci-push.vpn.infra.element.io
username: ${{ steps.import-secrets.outputs.OCI_USERNAME }}
password: ${{ steps.import-secrets.outputs.OCI_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0

- name: Install Cosign
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0

- name: Calculate docker image tag
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
with:
images: ${{ matrix.repository }}
flavor: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
mdbook-version: '0.5.2'

- name: Setup python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.x"

Expand All @@ -39,7 +39,7 @@ jobs:
cp book/welcome_and_overview.html book/index.html

- name: Upload Artifact
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: book
path: book
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
run: echo 'window.SYNAPSE_VERSION = "${{ needs.pre.outputs.branch-version }}";' > ./docs/website_files/version.js

- name: Setup python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.x"

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/fix_lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ jobs:
with:
toolchain: ${{ env.RUST_VERSION }}
components: clippy, rustfmt
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1

- name: Setup Poetry
uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
with:
install-project: "false"
poetry-version: "2.1.1"
poetry-version: "2.2.1"

- name: Run ruff check
continue-on-error: true
Expand Down
64 changes: 52 additions & 12 deletions .github/workflows/latest_deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ jobs:
uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
with:
toolchain: ${{ env.RUST_VERSION }}
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1

# The dev dependencies aren't exposed in the wheel metadata (at least with current
# poetry-core versions), so we install with poetry.
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
with:
python-version: "3.x"
poetry-version: "2.1.1"
poetry-version: "2.2.1"
extras: "all"
# Dump installed versions for debugging.
- run: poetry run pip list > before.txt
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
with:
toolchain: ${{ env.RUST_VERSION }}
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1

- run: sudo apt-get -qq install xmlsec1
- name: Set up PostgreSQL ${{ matrix.postgres-version }}
Expand All @@ -93,7 +93,7 @@ jobs:
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_INITDB_ARGS="--lc-collate C --lc-ctype C --encoding UTF8" \
postgres:${{ matrix.postgres-version }}
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.x"
- run: pip install .[all,test]
Expand Down Expand Up @@ -126,7 +126,6 @@ jobs:
-exec echo "::endgroup::" \;
|| true


sytest:
needs: check_repo
if: needs.check_repo.outputs.should_run_workflow == 'true'
Expand Down Expand Up @@ -158,7 +157,7 @@ jobs:
uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
with:
toolchain: ${{ env.RUST_VERSION }}
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1

- name: Ensure sytest runs `pip install`
# Delete the lockfile so sytest will `pip install` rather than `poetry install`
Expand All @@ -173,15 +172,14 @@ jobs:
if: ${{ always() }}
run: /sytest/scripts/tap_to_gha.pl /logs/results.tap
- name: Upload SyTest logs
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: ${{ always() }}
with:
name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.*, ', ') }})
path: |
/logs/results.tap
/logs/**/*.log*


complement:
needs: check_repo
if: "!failure() && !cancelled() && needs.check_repo.outputs.should_run_workflow == 'true'"
Expand Down Expand Up @@ -209,16 +207,58 @@ jobs:
- name: Prepare Complement's Prerequisites
run: synapse/.ci/scripts/setup_complement_prerequisites.sh

- uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
cache-dependency-path: complement/go.sum
go-version-file: complement/go.mod

- run: |
- name: Run Complement Tests
id: run_complement_tests
# -p=1: We're using `-p 1` to force the test packages to run serially as GHA boxes
# are underpowered and don't like running tons of Synapse instances at once.
# -json: Output JSON format so that gotestfmt can parse it.
#
# tee /tmp/gotest-complement.log: We tee the output to a file so that we can re-process it
# later on for better formatting with gotestfmt. But we still want the command
# to output to the terminal as it runs so we can see what's happening in
# real-time.
run: |
set -o pipefail
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
COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -p 1 -json 2>&1 | tee /tmp/gotest-complement.log
shell: bash
name: Run Complement Tests
env:
POSTGRES: ${{ (matrix.database == 'Postgres') && 1 || '' }}
WORKERS: ${{ (matrix.arrangement == 'workers') && 1 || '' }}
TEST_ONLY_IGNORE_POETRY_LOCKFILE: 1

- name: Formatted Complement test logs
# Always run this step if we attempted to run the Complement tests.
if: always() && steps.run_complement_tests.outcome != 'skipped'
run: cat /tmp/gotest-complement.log | gotestfmt -hide "successful-downloads,empty-packages"

- name: Run in-repo Complement Tests
id: run_in_repo_complement_tests
# -p=1: We're using `-p 1` to force the test packages to run serially as GHA boxes
# are underpowered and don't like running tons of Synapse instances at once.
# -json: Output JSON format so that gotestfmt can parse it.
#
# tee /tmp/gotest-in-repo-complement.log: We tee the output to a file so that we can re-process it
# later on for better formatting with gotestfmt. But we still want the command
# to output to the terminal as it runs so we can see what's happening in
# real-time.
run: |
set -o pipefail
COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh --in-repo -p 1 -json 2>&1 | tee /tmp/gotest-in-repo-complement.log
shell: bash
env:
POSTGRES: ${{ (matrix.database == 'Postgres') && 1 || '' }}
WORKERS: ${{ (matrix.arrangement == 'workers') && 1 || '' }}
TEST_ONLY_IGNORE_POETRY_LOCKFILE: 1

- name: Formatted in-repo Complement test logs
# Always run this step if we attempted to run the Complement tests.
if: always() && steps.run_in_repo_complement_tests.outcome != 'skipped'
run: cat /tmp/gotest-in-repo-complement.log | gotestfmt -hide "successful-downloads,empty-packages"

# Open an issue if the build fails, so we know about it.
# Only do this if we're not experimenting with this action in a PR.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/poetry_lockfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.x'
- run: pip install tomli
Expand Down
Loading
Loading