diff options
author | David Robertson <davidr@element.io> | 2022-03-03 18:31:24 +0000 |
---|---|---|
committer | David Robertson <davidr@element.io> | 2022-03-14 12:14:49 +0000 |
commit | 0fe433c3c0e4fc5a6dde9d9dc5ff477b36514eed (patch) | |
tree | 62de984bfdb15db775229b81432c1967f71aefc5 | |
parent | Changelog (diff) | |
download | synapse-0fe433c3c0e4fc5a6dde9d9dc5ff477b36514eed.tar.xz |
Use common linting workflow
Black, isort, flake8 don't need arguments now
-rw-r--r-- | .github/workflows/tests.yml | 14 | ||||
-rw-r--r-- | docs/code_style.md | 8 | ||||
-rw-r--r-- | pyproject.toml | 22 | ||||
-rwxr-xr-x | scripts-dev/lint.sh | 8 | ||||
-rw-r--r-- | tox.ini | 30 |
5 files changed, 10 insertions, 72 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d705754ac5..e580bec72d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,19 +20,7 @@ jobs: - run: scripts-dev/config-lint.sh lint: - runs-on: ubuntu-latest - strategy: - matrix: - toxenv: - - "check_codestyle" - - "check_isort" - - "mypy" - - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - - run: pip install tox - - run: tox -e ${{ matrix.toxenv }} + uses: "matrix-org/backend-meta/.github/workflows/python-poetry-ci.yml@v1" lint-crlf: runs-on: ubuntu-latest diff --git a/docs/code_style.md b/docs/code_style.md index e7c9cd1a5e..ebda6dcc85 100644 --- a/docs/code_style.md +++ b/docs/code_style.md @@ -24,7 +24,7 @@ pip install -e ".[lint,mypy]" functionality) with: ```sh - black . --exclude="\.tox|build|env" + black . ``` - **flake8** @@ -35,7 +35,7 @@ pip install -e ".[lint,mypy]" Check all application and test code with: ```sh - flake8 synapse tests + flake8 . ``` - **isort** @@ -46,11 +46,9 @@ pip install -e ".[lint,mypy]" Auto-fix imports with: ```sh - isort -rc synapse tests + isort . ``` - `-rc` means to recursively search the given directories. - It's worth noting that modern IDEs and text editors can run these tools automatically on save. It may be worth looking into whether this functionality is supported in your editor for a more convenient diff --git a/pyproject.toml b/pyproject.toml index 2531a837c7..0da57b8199 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,24 +36,9 @@ [tool.black] target-version = ['py37', 'py38', 'py39', 'py310'] -exclude = ''' - -( - /( - \.eggs # exclude a few common directories in the - | \.git # root of the project - | \.tox - | \.venv - | \.env - | env - | _build - | _trial_temp.* - | build - | dist - | debian - )/ -) -''' +# black ignores everything in .gitignore by default, see +# https://black.readthedocs.io/en/stable/usage_and_configuration/file_collection_and_discovery.html#gitignore +# Use `extend-exclude` if you want to exclude something in addition to this. [tool.isort] line_length = 88 @@ -65,6 +50,7 @@ known_twisted = ["twisted", "OpenSSL"] multi_line_output = 3 include_trailing_comma = true combine_as_imports = true +skip_gitignore = true [tool.poetry] name = "matrix-synapse" diff --git a/scripts-dev/lint.sh b/scripts-dev/lint.sh index c063fafa97..4698d2d5be 100755 --- a/scripts-dev/lint.sh +++ b/scripts-dev/lint.sh @@ -80,13 +80,7 @@ else # then lint everything! if [[ -z ${files+x} ]]; then # Lint all source code files and directories - # Note: this list aims to mirror the one in tox.ini - files=( - "synapse" "docker" "tests" - # annoyingly, black doesn't find these so we have to list them - "scripts-dev" - "contrib" "setup.py" "synmark" "stubs" ".ci" - ) + files=( "." ) fi fi diff --git a/tox.ini b/tox.ini index 69476b5869..8f85d59f42 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [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 minversion = 2.3.2 @@ -32,19 +32,6 @@ deps = # install the "enum34" dependency of cryptography. pip>=10 -# directories/files we run the linters on. -# if you update this list, make sure to do the same in scripts-dev/lint.sh -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 [testenv] @@ -138,18 +125,3 @@ setenv = commands = 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 |