Introduce isort to check import order #849
Workflow file for this run
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
name: Static code analysis | |
on: | |
push: | |
branches: | |
- develop | |
pull_request: | |
branches: | |
- '*' | |
concurrency: | |
group: static-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Static code analysis | |
runs-on: ubuntu-latest | |
env: | |
CI: 'true' | |
OS: 'linux' | |
timeout-minutes: 2 | |
steps: | |
- uses: actions/cache@v1 | |
with: | |
path: ~/.cache/pip | |
key: static-pip-${{ hashFiles('pyproject.toml') }} | |
restore-keys: static-pip- | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
# TODO: check with Python 3, but need to fix the | |
# errors first | |
python-version: '3.8' | |
architecture: 'x64' | |
- run: python -m pip install --upgrade pip setuptools jsonschema | |
# If we don't install pycodestyle, pylint will throw an unused-argument error in pylsp/plugins/pycodestyle_lint.py:72 | |
# This error cannot be resolved by adding a pylint: disable=unused-argument comment ... | |
- run: | | |
pip install -e .[pylint,pycodestyle,pyflakes] | |
pip install isort black | |
- name: Pylint checks | |
run: pylint pylsp test | |
- name: Check import order with isort | |
run: isort --check --profile black pylsp test | |
- name: Code style checks with black | |
run: black --check pylsp test | |
- name: Pyflakes checks | |
run: pyflakes pylsp test | |
- name: Validate JSON schema | |
run: echo {} | jsonschema pylsp/config/schema.json | |
- name: Ensure JSON schema and Markdown docs are in sync | |
run: | | |
python scripts/jsonschema2md.py pylsp/config/schema.json EXPECTED_CONFIGURATION.md | |
diff EXPECTED_CONFIGURATION.md CONFIGURATION.md |