---
stages:
  - linting
# 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"
cache:
  paths:
    - .cache

black:
  stage: linting
  image: python:3
  before_script:
    - pip3 install -U pip pretix black
  script:
    - black --check .

isort:
  stage: linting
  image: python:3
  before_script:
    - pip3 install -U pip pretix isort
  script:
    - isort -c .

flake8:
  stage: linting
  image: python:3
  before_script:
    - pip3 install -U pip pretix flake8
  script:
    - flake8 .

check-manifest:
  stage: linting
  image: python:3
  before_script:
    - pip3 install -U pip pretix check-manifest
  script:
    - check-manifest .