Run mypy in pre-commit (#27339)
* Move mypy files config to setup.cfg * Add mypy in pre-commitpull/27307/head
parent
d345b58ce6
commit
3e6b9a17cc
|
@ -13,3 +13,7 @@ repos:
|
|||
additional_dependencies:
|
||||
- flake8-docstrings==1.3.1
|
||||
- pydocstyle==4.0.0
|
||||
- repo: https://github.com/pre-commit/mirrors-mypy.git
|
||||
rev: v0.730
|
||||
hooks:
|
||||
- id: mypy
|
||||
|
|
|
@ -166,9 +166,6 @@ stages:
|
|||
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
|
||||
displayName: 'Setup Env'
|
||||
- script: |
|
||||
TYPING_FILES=$(cat mypyrc)
|
||||
echo -e "Run mypy on: \n$TYPING_FILES"
|
||||
|
||||
. venv/bin/activate
|
||||
mypy $TYPING_FILES
|
||||
mypy homeassistant
|
||||
displayName: 'Run mypy'
|
||||
|
|
38
mypyrc
38
mypyrc
|
@ -1,38 +0,0 @@
|
|||
homeassistant/*.py
|
||||
homeassistant/auth/
|
||||
homeassistant/components/*.py
|
||||
homeassistant/components/automation/
|
||||
homeassistant/components/binary_sensor/
|
||||
homeassistant/components/calendar/
|
||||
homeassistant/components/camera/
|
||||
homeassistant/components/cover/
|
||||
homeassistant/components/device_automation/
|
||||
homeassistant/components/frontend/
|
||||
homeassistant/components/geo_location/
|
||||
homeassistant/components/group/
|
||||
homeassistant/components/history/
|
||||
homeassistant/components/http/
|
||||
homeassistant/components/image_processing/
|
||||
homeassistant/components/integration/
|
||||
homeassistant/components/light/
|
||||
homeassistant/components/lock/
|
||||
homeassistant/components/mailbox/
|
||||
homeassistant/components/media_player/
|
||||
homeassistant/components/notify/
|
||||
homeassistant/components/persistent_notification/
|
||||
homeassistant/components/proximity/
|
||||
homeassistant/components/remote/
|
||||
homeassistant/components/scene/
|
||||
homeassistant/components/sensor/
|
||||
homeassistant/components/sun/
|
||||
homeassistant/components/switch/
|
||||
homeassistant/components/systemmonitor/
|
||||
homeassistant/components/tts/
|
||||
homeassistant/components/vacuum/
|
||||
homeassistant/components/water_heater/
|
||||
homeassistant/components/weather/
|
||||
homeassistant/components/websocket_api/
|
||||
homeassistant/components/zone/
|
||||
homeassistant/helpers/
|
||||
homeassistant/scripts/
|
||||
homeassistant/util/
|
14
setup.cfg
14
setup.cfg
|
@ -57,17 +57,21 @@ combine_as_imports = true
|
|||
|
||||
[mypy]
|
||||
python_version = 3.6
|
||||
ignore_errors = true
|
||||
follow_imports = silent
|
||||
ignore_missing_imports = true
|
||||
warn_incomplete_stub = true
|
||||
warn_redundant_casts = true
|
||||
warn_unused_configs = true
|
||||
|
||||
[mypy-homeassistant.bootstrap,homeassistant.components,homeassistant.config_entries,homeassistant.config,homeassistant.const,homeassistant.core,homeassistant.data_entry_flow,homeassistant.exceptions,homeassistant.loader,homeassistant.__main__,homeassistant.monkey_patch,homeassistant.requirements,homeassistant.setup,homeassistant.util,homeassistant.auth.*,homeassistant.components.automation.*,homeassistant.components.binary_sensor.*,homeassistant.components.calendar.*,homeassistant.components.cover.*,homeassistant.components.device_automation.*,homeassistant.components.frontend.*,homeassistant.components.geo_location.*,homeassistant.components.group.*,homeassistant.components.history.*,homeassistant.components.http.*,homeassistant.components.image_processing.*,homeassistant.components.integration.*,homeassistant.components.light.*,homeassistant.components.lock.*,homeassistant.components.mailbox.*,homeassistant.components.media_player.*,homeassistant.components.notify.*,homeassistant.components.persistent_notification.*,homeassistant.components.proximity.*,homeassistant.components.remote.*,homeassistant.components.scene.*,homeassistant.components.sensor.*,homeassistant.components.sun.*,homeassistant.components.switch.*,homeassistant.components.systemmonitor.*,homeassistant.components.tts.*,homeassistant.components.vacuum.*,homeassistant.components.water_heater.*,homeassistant.components.weather.*,homeassistant.components.websocket_api.*,homeassistant.components.zone.*,homeassistant.helpers.*,homeassistant.scripts.*,homeassistant.util.*]
|
||||
ignore_errors = false
|
||||
check_untyped_defs = true
|
||||
disallow_incomplete_defs = true
|
||||
disallow_untyped_calls = true
|
||||
disallow_untyped_defs = true
|
||||
follow_imports = silent
|
||||
ignore_missing_imports = true
|
||||
no_implicit_optional = true
|
||||
strict_equality = true
|
||||
warn_incomplete_stub = true
|
||||
warn_redundant_casts = true
|
||||
warn_return_any = true
|
||||
warn_unreachable = true
|
||||
warn_unused_configs = true
|
||||
warn_unused_ignores = true
|
||||
|
|
3
tox.ini
3
tox.ini
|
@ -37,9 +37,8 @@ commands =
|
|||
flake8 {posargs: homeassistant tests script}
|
||||
|
||||
[testenv:typing]
|
||||
whitelist_externals=/bin/bash
|
||||
deps =
|
||||
-r{toxinidir}/requirements_test.txt
|
||||
-c{toxinidir}/homeassistant/package_constraints.txt
|
||||
commands =
|
||||
/bin/bash -c 'TYPING_FILES=$(cat mypyrc); mypy $TYPING_FILES'
|
||||
mypy homeassistant
|
||||
|
|
Loading…
Reference in New Issue