mypy: move configuration to pyproject.toml (#24802)
This moves our `mypy` configuration from `.mypy.ini` to `.pyproject.toml` and increases the minimum `mypy` version in the tests. - [x] move `mypy` configuration to `pyproject.toml` - [x] remove `.mypy.ini` - [x] ensure that `mypy` version .900 or higher is used in tests
This commit is contained in:
parent
3fb5c13983
commit
eff7f20118
3 changed files with 46 additions and 37 deletions
4
.github/workflows/unit_tests.yaml
vendored
4
.github/workflows/unit_tests.yaml
vendored
|
@ -39,7 +39,7 @@ jobs:
|
|||
python-version: 3.9
|
||||
- name: Install Python packages
|
||||
run: |
|
||||
pip install --upgrade pip six setuptools flake8 isort>=4.3.5 mypy>=0.800 black types-six
|
||||
pip install --upgrade pip six setuptools flake8 isort>=4.3.5 mypy>=0.900 black types-six
|
||||
- name: Setup git configuration
|
||||
run: |
|
||||
# Need this for the git tests to succeed.
|
||||
|
@ -370,7 +370,7 @@ jobs:
|
|||
run: |
|
||||
pip install --upgrade pip six setuptools
|
||||
pip install --upgrade codecov coverage
|
||||
pip install --upgrade flake8 isort>=4.3.5 mypy>=0.800
|
||||
pip install --upgrade flake8 isort>=4.3.5 mypy>=0.900
|
||||
- name: Setup Homebrew packages
|
||||
run: |
|
||||
brew install dash fish gcc gnupg2 kcov
|
||||
|
|
35
.mypy.ini
35
.mypy.ini
|
@ -1,35 +0,0 @@
|
|||
[mypy]
|
||||
python_version = 3.7
|
||||
files=lib/spack/llnl/**/*.py,lib/spack/spack/**/*.py
|
||||
mypy_path=bin,lib/spack,lib/spack/external,var/spack/repos/builtin
|
||||
# This and a generated import file allows supporting packages
|
||||
namespace_packages=True
|
||||
# To avoid re-factoring all the externals, ignore errors and missing imports
|
||||
# globally, then turn back on in spack and spack submodules
|
||||
ignore_errors=True
|
||||
ignore_missing_imports=True
|
||||
|
||||
[mypy-spack.*]
|
||||
ignore_errors=False
|
||||
ignore_missing_imports=False
|
||||
|
||||
[mypy-packages.*]
|
||||
ignore_errors=False
|
||||
ignore_missing_imports=False
|
||||
|
||||
[mypy-llnl.*]
|
||||
ignore_errors=False
|
||||
ignore_missing_imports=False
|
||||
|
||||
[mypy-spack.test.packages]
|
||||
ignore_errors=True
|
||||
|
||||
# ignore errors in fake import path for packages
|
||||
[mypy-spack.pkg.*]
|
||||
ignore_errors=True
|
||||
ignore_missing_imports=True
|
||||
|
||||
# jinja has syntax in it that requires python3 and causes a parse error
|
||||
# skip importing it
|
||||
[mypy-jinja2]
|
||||
follow_imports=skip
|
|
@ -12,3 +12,47 @@ known_archspec = "archspec"
|
|||
known_llnl = "llnl"
|
||||
src_paths = "lib"
|
||||
honor_noqa = true
|
||||
|
||||
[tool.mypy]
|
||||
python_version = 3.7
|
||||
files = ['lib/spack/llnl/**/*.py', 'lib/spack/spack/**/*.py']
|
||||
mypy_path = ['bin', 'lib/spack', 'lib/spack/external', 'var/spack/repos/builtin']
|
||||
|
||||
# This and a generated import file allows supporting packages
|
||||
namespace_packages = true
|
||||
|
||||
# To avoid re-factoring all the externals, ignore errors and missing imports
|
||||
# globally, then turn back on in spack and spack submodules
|
||||
ignore_errors = true
|
||||
ignore_missing_imports = true
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = 'spack.*'
|
||||
ignore_errors = false
|
||||
ignore_missing_imports = false
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = 'packages.*'
|
||||
ignore_errors = false
|
||||
ignore_missing_imports = false
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = 'llnl.*'
|
||||
ignore_errors = false
|
||||
ignore_missing_imports = false
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = 'spack.test.packages'
|
||||
ignore_errors = true
|
||||
|
||||
# ignore errors in fake import path for packages
|
||||
[[tool.mypy.overrides]]
|
||||
module = 'spack.pkg.*'
|
||||
ignore_errors = true
|
||||
ignore_missing_imports = true
|
||||
|
||||
# jinja has syntax in it that requires python3 and causes a parse error
|
||||
# skip importing it
|
||||
[[tool.mypy.overrides]]
|
||||
module = 'jinja2'
|
||||
follow_imports = 'skip'
|
||||
|
|
Loading…
Reference in a new issue