Use pre-commit in CI and tox (#27743)
This commit is contained in:
parent
a119932ee5
commit
103ffacea7
4 changed files with 15 additions and 7 deletions
|
@ -6,6 +6,7 @@ repos:
|
|||
args:
|
||||
- --safe
|
||||
- --quiet
|
||||
files: ^((homeassistant|script|tests)/.+)?[^/]+\.py$
|
||||
- repo: https://gitlab.com/pycqa/flake8
|
||||
rev: 3.7.8
|
||||
hooks:
|
||||
|
@ -13,6 +14,7 @@ repos:
|
|||
additional_dependencies:
|
||||
- flake8-docstrings==1.3.1
|
||||
- pydocstyle==4.0.0
|
||||
files: ^(homeassistant|script|tests)/.+\.py$
|
||||
# Using a local "system" mypy instead of the mypy hook, because its
|
||||
# results depend on what is installed. And the mypy hook runs in a
|
||||
# virtualenv of its own, meaning we'd need to install and maintain
|
||||
|
@ -26,4 +28,4 @@ repos:
|
|||
language: system
|
||||
types: [python]
|
||||
require_serial: true
|
||||
exclude: ^script/scaffold/templates/
|
||||
files: ^homeassistant/.+\.py$
|
||||
|
|
|
@ -27,7 +27,10 @@ matrix:
|
|||
- python: "3.7"
|
||||
env: TOXENV=py37
|
||||
|
||||
cache: pip
|
||||
cache:
|
||||
pip: true
|
||||
directories:
|
||||
- $HOME/.cache/pre-commit
|
||||
install: pip install -U tox
|
||||
language: python
|
||||
script: travis_wait 50 tox --develop
|
||||
|
|
|
@ -45,9 +45,10 @@ stages:
|
|||
|
||||
. venv/bin/activate
|
||||
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
pre-commit install-hooks
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
flake8 homeassistant tests script
|
||||
pre-commit run flake8 --all-files
|
||||
displayName: 'Run flake8'
|
||||
- job: 'Validate'
|
||||
pool:
|
||||
|
@ -83,9 +84,10 @@ stages:
|
|||
|
||||
. venv/bin/activate
|
||||
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
pre-commit install-hooks
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
./script/check_format
|
||||
pre-commit run black --all-files
|
||||
displayName: 'Check Black formatting'
|
||||
|
||||
- stage: 'Tests'
|
||||
|
@ -180,7 +182,8 @@ stages:
|
|||
|
||||
. venv/bin/activate
|
||||
pip install -e . -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
pre-commit install-hooks
|
||||
- script: |
|
||||
. venv/bin/activate
|
||||
mypy homeassistant
|
||||
pre-commit run mypy --all-files
|
||||
displayName: 'Run mypy'
|
||||
|
|
4
tox.ini
4
tox.ini
|
@ -34,11 +34,11 @@ deps =
|
|||
commands =
|
||||
python -m script.gen_requirements_all validate
|
||||
python -m script.hassfest validate
|
||||
flake8 {posargs: homeassistant tests script}
|
||||
pre-commit run flake8 {posargs: --all-files}
|
||||
|
||||
[testenv:typing]
|
||||
deps =
|
||||
-r{toxinidir}/requirements_test.txt
|
||||
-c{toxinidir}/homeassistant/package_constraints.txt
|
||||
commands =
|
||||
mypy homeassistant
|
||||
pre-commit run mypy {posargs: --all-files}
|
||||
|
|
Loading…
Add table
Reference in a new issue