forked from matrix-org/synapse
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'v1.58.1' into beeper-master
Synapse 1.58.1 (2022-05-05) =========================== This patch release includes a fix to the Debian packages, installing the `systemd` and `cache_memory` extra package groups, which were incorrectly omitted in v1.58.0. This primarily prevented Synapse from starting when the `systemd.journal.JournalHandler` log handler was configured. See [matrix-org#12631](matrix-org#12631) for further information. Otherwise, no significant changes since 1.58.0.
- Loading branch information
Showing
112 changed files
with
6,244 additions
and
1,517 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
title: CI run against latest deps is failing | ||
--- | ||
See https://github.com/{{env.GITHUB_REPOSITORY}}/actions/runs/{{env.GITHUB_RUN_ID}} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
# People who are freshly `pip install`ing from PyPI will pull in the latest versions of | ||
# dependencies which match the broad requirements. Since most CI runs are against | ||
# the locked poetry environment, run specifically against the latest dependencies to | ||
# know if there's an upcoming breaking change. | ||
# | ||
# As an overview this workflow: | ||
# - checks out develop, | ||
# - installs from source, pulling in the dependencies like a fresh `pip install` would, and | ||
# - runs mypy and test suites in that checkout. | ||
# | ||
# Based on the twisted trunk CI job. | ||
|
||
name: Latest dependencies | ||
|
||
on: | ||
schedule: | ||
- cron: 0 7 * * * | ||
workflow_dispatch: | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
mypy: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
# 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@v1 | ||
with: | ||
python-version: "3.x" | ||
poetry-version: "1.2.0b1" | ||
# Dump installed versions for debugging. | ||
- run: poetry run pip list > before.txt | ||
# Upgrade all runtime dependencies only. This is intended to mimic a fresh | ||
# `pip install matrix-synapse[all]` as closely as possible. | ||
- run: poetry update --no-dev | ||
- run: poetry run pip list > after.txt && (diff -u before.txt after.txt || true) | ||
- run: poetry run mypy | ||
trial: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
include: | ||
- database: "sqlite" | ||
- database: "postgres" | ||
postgres-version: "14" | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- run: sudo apt-get -qq install xmlsec1 | ||
- name: Set up PostgreSQL ${{ matrix.postgres-version }} | ||
if: ${{ matrix.postgres-version }} | ||
run: | | ||
docker run -d -p 5432:5432 \ | ||
-e POSTGRES_PASSWORD=postgres \ | ||
-e POSTGRES_INITDB_ARGS="--lc-collate C --lc-ctype C --encoding UTF8" \ | ||
postgres:${{ matrix.postgres-version }} | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: "3.x" | ||
- run: pip install .[all,test] | ||
- name: Await PostgreSQL | ||
if: ${{ matrix.postgres-version }} | ||
timeout-minutes: 2 | ||
run: until pg_isready -h localhost; do sleep 1; done | ||
- run: python -m twisted.trial --jobs=2 tests | ||
env: | ||
SYNAPSE_POSTGRES: ${{ matrix.database == 'postgres' || '' }} | ||
SYNAPSE_POSTGRES_HOST: localhost | ||
SYNAPSE_POSTGRES_USER: postgres | ||
SYNAPSE_POSTGRES_PASSWORD: postgres | ||
- name: Dump logs | ||
# Logs are most useful when the command fails, always include them. | ||
if: ${{ always() }} | ||
# Note: Dumps to workflow logs instead of using actions/upload-artifact | ||
# This keeps logs colocated with failing jobs | ||
# It also ignores find's exit code; this is a best effort affair | ||
run: >- | ||
find _trial_temp -name '*.log' | ||
-exec echo "::group::{}" \; | ||
-exec cat {} \; | ||
-exec echo "::endgroup::" \; | ||
|| true | ||
sytest: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: matrixdotorg/sytest-synapse:testing | ||
volumes: | ||
- ${{ github.workspace }}:/src | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- sytest-tag: focal | ||
|
||
- sytest-tag: focal | ||
postgres: postgres | ||
workers: workers | ||
redis: redis | ||
env: | ||
POSTGRES: ${{ matrix.postgres && 1}} | ||
WORKERS: ${{ matrix.workers && 1 }} | ||
REDIS: ${{ matrix.redis && 1 }} | ||
BLACKLIST: ${{ matrix.workers && 'synapse-blacklist-with-workers' }} | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Ensure sytest runs `pip install` | ||
# Delete the lockfile so sytest will `pip install` rather than `poetry install` | ||
run: rm /src/poetry.lock | ||
working-directory: /src | ||
- name: Prepare test blacklist | ||
run: cat sytest-blacklist .ci/worker-blacklist > synapse-blacklist-with-workers | ||
- name: Run SyTest | ||
run: /bootstrap.sh synapse | ||
working-directory: /src | ||
- name: Summarise results.tap | ||
if: ${{ always() }} | ||
run: /sytest/scripts/tap_to_gha.pl /logs/results.tap | ||
- name: Upload SyTest logs | ||
uses: actions/upload-artifact@v2 | ||
if: ${{ always() }} | ||
with: | ||
name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.*, ', ') }}) | ||
path: | | ||
/logs/results.tap | ||
/logs/**/*.log* | ||
# TODO: run complement (as with twisted trunk, see #12473). | ||
|
||
# open an issue if the build fails, so we know about it. | ||
open-issue: | ||
if: failure() | ||
needs: | ||
# TODO: should mypy be included here? It feels more brittle than the other two. | ||
- mypy | ||
- trial | ||
- sytest | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: JasonEtco/create-an-issue@5d9504915f79f9cc6d791934b8ef34f2353dd74d # v2.5.0, 2020-12-06 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
update_existing: true | ||
filename: .ci/latest_deps_build_failed_issue_template.md | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.