image: python # Change pip's cache directory to be inside the project directory since we can # only cache local items. variables: PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache" # Pip's cache doesn't store the python packages # https://pip.pypa.io/en/stable/reference/pip_install/#caching # # If you want to also cache the installed packages, you have to install # them in a virtualenv and cache it as well. cache: paths: - .cache/pip stages: - Static Analysis and Test before_script: - uname -a - apt-get update && apt install -y libgl1-mesa-glx - pip install -e .[dev] flake8: image: python:3.9 tags: - passoft stage: Static Analysis and Test script: - flake8 lemi2seed tests mypy: image: python:3.9 tags: - passoft stage: Static Analysis and Test script: - python -m mypy --config-file ./setup.cfg lemi2seed python3.9: image: python:3.9 tags: - passoft stage: Static Analysis and Test script: - coverage run --source="$CI_PROJECT_NAME" -m unittest discover - if [ "$?" -eq 0 ]; then echo $PYVER > .ci-internal/passed/$PYVER.txt; fi - coverage report -m coverage: '/TOTAL.+ ([0-9]{1,3}%)/' python3.10: image: python:3.10 tags: - passoft stage: Static Analysis and Test script: - coverage run --source="$CI_PROJECT_NAME" -m unittest discover - if [ "$?" -eq 0 ]; then echo $PYVER > .ci-internal/passed/$PYVER.txt; fi - coverage report -m coverage: '/TOTAL.+ ([0-9]{1,3}%)/'