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

Commit

Permalink
Merge remote-tracking branch 'origin/dmr/ditch-backend-meta-workflow'…
Browse files Browse the repository at this point in the history
… into dependabot/pip/types-pillow-9.4.0.19
  • Loading branch information
clokep committed Apr 10, 2023
2 parents 34cdb29 + 3b56d7d commit 580a3ae
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 3 deletions.
57 changes: 54 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,59 @@ jobs:
- run: .ci/scripts/check_lockfile.py

lint:
uses: "matrix-org/backend-meta/.github/workflows/python-poetry-ci.yml@v2"
with:
typechecking-extras: "all"
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Poetry
uses: matrix-org/setup-python-poetry@v1
with:
install-project: "false"

- name: Import order (isort)
run: poetry run isort --check --diff .

- name: Code style (black)
run: poetry run black --check --diff .

- name: Semantic checks (ruff)
# --quiet suppresses the update check.
run: poetry run ruff --quiet .

lint-mypy:
runs-on: ubuntu-latest
name: Typechecking
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Poetry
uses: matrix-org/setup-python-poetry@v1
with:
# We want to make use of type hints in optional dependencies too.
extras: all
# We have seen odd mypy failures that were resolved when we started
# installing the project again:
# https://github.com/matrix-org/synapse/pull/15376#issuecomment-1498983775
# To make CI green, err towards caution and install the project.
install-project: "true"

- name: Install Rust
uses: dtolnay/[email protected]
- uses: Swatinem/rust-cache@v2

# NB: I have two concerns with this action:
# 1. We occasionally see odd mypy problems that aren't reproducible
# locally with clean caches. I suspect some dodgy caching behaviour.
# 2. The action uses GHA machinery that's deprecated
# (https://github.com/AustinScola/mypy-cache-github-action/issues/277)
# It may be simpler to use actions/cache ourselves to restore .mypy_cache.
- name: Restore/persist mypy's cache
uses: AustinScola/mypy-cache-github-action@df56268388422ee282636ee2c7a9cc55ec644a41

- name: Run mypy
run: poetry run mypy

lint-crlf:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -165,6 +215,7 @@ jobs:
if: ${{ !cancelled() }} # Run this even if prior jobs were skipped
needs:
- lint
- lint-mypy
- lint-crlf
- lint-newsfile
- lint-pydantic
Expand Down
1 change: 1 addition & 0 deletions changelog.d/15409.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Explicitly install Synapse during typechecking in CI.

0 comments on commit 580a3ae

Please sign in to comment.