diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3773a3213aa..268cff9ea78 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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$ diff --git a/.travis.yml b/.travis.yml index 0e9e030128e..7b3765716eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/azure-pipelines-ci.yml b/azure-pipelines-ci.yml index 257eac57c2d..f03c5f435f9 100644 --- a/azure-pipelines-ci.yml +++ b/azure-pipelines-ci.yml @@ -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' diff --git a/tox.ini b/tox.ini index 8c3563dac83..0b0c969d781 100644 --- a/tox.ini +++ b/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}