Run lints under poetry in CI; remove lint tox jobs (#12434)

Co-authored-by: Dan Callahan <danc@element.io>
This commit is contained in:
David Robertson 2022-04-12 17:35:48 +01:00 committed by GitHub
parent aa28110264
commit 58c657322a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 46 deletions

View File

@ -20,19 +20,13 @@ jobs:
- run: scripts-dev/config-lint.sh - run: scripts-dev/config-lint.sh
lint: lint:
runs-on: ubuntu-latest # This does a vanilla `poetry install` - no extras. I'm slightly anxious
strategy: # that we might skip some typechecks on code that uses extras. However,
matrix: # I think the right way to fix this is to mark any extras needed for
toxenv: # typechecking as development dependencies. To detect this, we ought to
- "check_codestyle" # turn up mypy's strictness: disallow unknown imports and be accept fewer
- "check_isort" # uses of `Any`.
- "mypy" uses: "matrix-org/backend-meta/.github/workflows/python-poetry-ci.yml@v1"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- run: pip install tox
- run: tox -e ${{ matrix.toxenv }}
lint-crlf: lint-crlf:
runs-on: ubuntu-latest runs-on: ubuntu-latest

1
changelog.d/12434.misc Normal file
View File

@ -0,0 +1 @@
Run lints under poetry in CI, and remove corresponding tox lint jobs.

6
poetry.lock generated
View File

@ -717,7 +717,7 @@ test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock
[[package]] [[package]]
name = "prometheus-client" name = "prometheus-client"
version = "0.13.1" version = "0.14.0"
description = "Python client for the Prometheus monitoring system." description = "Python client for the Prometheus monitoring system."
category = "main" category = "main"
optional = false optional = false
@ -2225,8 +2225,8 @@ platformdirs = [
{file = "platformdirs-2.5.1.tar.gz", hash = "sha256:7535e70dfa32e84d4b34996ea99c5e432fa29a708d0f4e394bbcb2a8faa4f16d"}, {file = "platformdirs-2.5.1.tar.gz", hash = "sha256:7535e70dfa32e84d4b34996ea99c5e432fa29a708d0f4e394bbcb2a8faa4f16d"},
] ]
prometheus-client = [ prometheus-client = [
{file = "prometheus_client-0.13.1-py3-none-any.whl", hash = "sha256:357a447fd2359b0a1d2e9b311a0c5778c330cfbe186d880ad5a6b39884652316"}, {file = "prometheus_client-0.14.0-py3-none-any.whl", hash = "sha256:f4aba3fdd1735852049f537c1f0ab177159b7ab76f271ecc4d2f45aa2a1d01f2"},
{file = "prometheus_client-0.13.1.tar.gz", hash = "sha256:ada41b891b79fca5638bd5cfe149efa86512eaa55987893becd2c6d8d0a5dfc5"}, {file = "prometheus_client-0.14.0.tar.gz", hash = "sha256:8f7a922dd5455ad524b6ba212ce8eb2b4b05e073f4ec7218287f88b1cac34750"},
] ]
psycopg2 = [ psycopg2 = [
{file = "psycopg2-2.9.3-cp310-cp310-win32.whl", hash = "sha256:083707a696e5e1c330af2508d8fab36f9700b26621ccbcb538abe22e15485362"}, {file = "psycopg2-2.9.3-cp310-cp310-win32.whl", hash = "sha256:083707a696e5e1c330af2508d8fab36f9700b26621ccbcb538abe22e15485362"},

31
tox.ini
View File

@ -1,5 +1,5 @@
[tox] [tox]
envlist = py37, py38, py39, py310, check_codestyle, check_isort envlist = py37, py38, py39, py310
# we require tox>=2.3.2 for the fix to https://github.com/tox-dev/tox/issues/208 # we require tox>=2.3.2 for the fix to https://github.com/tox-dev/tox/issues/208
minversion = 2.3.2 minversion = 2.3.2
@ -32,20 +32,6 @@ deps =
# install the "enum34" dependency of cryptography. # install the "enum34" dependency of cryptography.
pip>=10 pip>=10
# directories/files we run the linters on.
# TODO: this is now out of date; we will remove as part of poetry migration.
lint_targets =
setup.py
synapse
tests
# annoyingly, black doesn't find these so we have to list them
scripts-dev
stubs
contrib
synmark
.ci
docker
# default settings for all tox environments # default settings for all tox environments
[testenv] [testenv]
deps = deps =
@ -116,18 +102,3 @@ setenv =
commands = commands =
python -m synmark {posargs:} python -m synmark {posargs:}
[testenv:check_codestyle]
extras = lint
commands =
python -m black --check --diff {[base]lint_targets}
flake8 {[base]lint_targets} {env:PEP8SUFFIX:}
[testenv:check_isort]
extras = lint
commands = isort -c --df {[base]lint_targets}
[testenv:mypy]
deps =
{[base]deps}
extras = all,mypy
commands = mypy