image: python stages: - linters - tests variables: PIP_CACHE_DIR: "$CI_PROJECT_DIR/vendor/pip" cache: paths: - vendor linters: stage: linters before_script: - mkdir -p vendor/pip - pip install --upgrade black isort flake8 script: - black --check . - isort --check --diff . - flake8 --exit-zero authens before_script: - mkdir -p vendor/{apt,pip} - apt-get update -q && apt-get -o dir::cache::archives="vendor/apt" install -yqq python3-dev libldap2-dev libsasl2-dev - pip install tox python35: image: python:3.5 stage: tests script: - tox -e py35-django22 python36: image: python:3.6 stage: tests script: - tox -e py36-django22 - tox -e py36-django30 python37: image: python:3.7 stage: tests script: - tox -e py37-django22 - tox -e py37-django30 python38: image: python:3.8 stage: tests script: - tox -e py38-django22 - tox -e py38-django30