diff --git a/.mypy.ini b/.mypy.ini new file mode 100644 index 00000000..5104700a --- /dev/null +++ b/.mypy.ini @@ -0,0 +1,23 @@ +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) +# SPDX-License-Identifier: GPL-3.0-or-later + +[mypy] +check_untyped_defs = True +disallow_untyped_defs = True + +# strict = True -- only try to enable once everything (including dependencies!) is typed +strict_equality = True +strict_bytes = True + +warn_redundant_casts = True +# warn_return_any = True +warn_unreachable = True + +[mypy-ansible.*] +# ansible-core has partial typing information +follow_untyped_imports = True + +[mypy-ansible_collections.community.internal_test_tools.*] +# community.internal_test_tools has no typing information +ignore_missing_imports = True diff --git a/antsibull-nox.toml b/antsibull-nox.toml index 979f73eb..991217ca 100644 --- a/antsibull-nox.toml +++ b/antsibull-nox.toml @@ -25,7 +25,9 @@ run_yamllint = true yamllint_config = ".yamllint" yamllint_config_plugins = ".yamllint-docs" yamllint_config_plugins_examples = ".yamllint-examples" -run_mypy = false +run_mypy = true +mypy_ansible_core_package = "ansible-core>=2.19.0" +mypy_config = ".mypy.ini" [sessions.docs_check] validate_collection_refs="all"