Commit bac4ad91 authored by Adrian DC's avatar Adrian DC
Browse files

style: prepare #170: implement mypy Python linting features job

parent 8846a01d
Loading
Loading
Loading
Loading
Loading
+21 −0
Changes for .gitlab-ci.yml: 21 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -161,6 +161,27 @@ variables:
      when: on_success
  allow_failure: true

'Typings':
  stage: prepare
  variables:
    PIP_DISABLE_PIP_VERSION_CHECK: 1
  before_script:
    - pip3 install -q -r ./requirements/runtime.txt --upgrade
    - pip3 install -q -r ./requirements/quality.txt --upgrade
    - pip3 install -q -r ./requirements/tests.txt --upgrade
  script:
    - mypy --follow-imports silent --pretty ./docs/ ./gitlabci_local/ ./setup.py
  rules:
    - if: $CI_COMMIT_REF_NAME == "develop"
      changes:
        - 'CHANGELOG.md'
        - 'docs/**/*'
        - 'gitlabci_local/**/*'
        - 'setup.py'
    - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != "develop"
      when: on_success
  allow_failure: true

# =============================================================================
# Stage: build

+1 −0
Changes for README.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -371,6 +371,7 @@ JOB_NAME:
- [git-chglog](https://github.com/git-chglog/git-chglog): CHANGELOG generator
- [gitlab-release](https://pypi.org/project/gitlab-release/): Utility for publishing on GitLab
- [OCI](https://opencontainers.org): Open Container Initiative
- [mypy](https://pypi.org/project/mypy/): Optional static typing for Python
- [pexpect-executor](https://pypi.org/project/pexpect-executor/): Automate interactive CLI tools actions
- [PyPI](https://pypi.org/): The Python Package Index
- [termtosvg](https://pypi.org/project/termtosvg/): Record terminal sessions as SVG animations

mypy.ini

0 → 100644
+17 −0
Changes for mypy.ini: 17 added lines, 0 removed lines.
Original line number Diff line number Diff line
# Global options:

[mypy]
check_untyped_defs = True
disallow_any_generics = True
disallow_incomplete_defs = True
disallow_subclassing_any = True
disallow_untyped_calls = True
disallow_untyped_decorators = True
disallow_untyped_defs = True
ignore_missing_imports = True
no_implicit_optional = True
strict_equality = True
warn_redundant_casts = True
warn_return_any = True
warn_unused_configs = True
warn_unused_ignores = True
 No newline at end of file
+2 −0
Changes for requirements/quality.txt: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
mypy>=0.971
pylint>=2.6.0
types-setuptools>=65.3.0
unify>=0.5
yapf>=0.29.0