Use pre-commit in CI and tox (#27743)

This commit is contained in:
Ville Skyttä 2019-10-18 22:20:27 +03:00 committed by Paulus Schoutsen
parent a119932ee5
commit 103ffacea7
4 changed files with 15 additions and 7 deletions

View file

@ -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$

View file

@ -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

View file

@ -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'

View file

@ -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}