---
variables:
  MYPY_DEFAULT_SETTINGS: "--strict --ignore-missing-imports --show-error-context"
  MYPY_EXTRA_SETTINGS: ""
  MYPY_EXCLUDE_REGEX: '(tests/|setup.py)'  # Keep the single quotes
  PYVERSION: "latest"

image: registry.gitlab.com/notno/ci/images/python:$PYVERSION

python:mypy:
  stage: test
  variables:
    CHECK_PATH: "./${PYTHON_PACKAGE}"
  script:
    - pip3 install . || true  # installs package only if available
    - pip3 install mypy
    - mypy --install-types --non-interactive --junit-xml ${CI_PROJECT_DIR}/mypy-report.xml --exclude $MYPY_EXCLUDE_REGEX ${MYPY_DEFAULT_SETTINGS} ${MYPY_EXTRA_SETTINGS} ${CHECK_PATH}
  artifacts:
    reports:
      junit: mypy-report.xml
  cache:
    key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
    paths:
      - .mypy_cache/
