Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.49 KiB
stages:
  - test
  - build
  - deploy

lint:
  image: python:3.10
  stage: test

  cache:
    paths:
      - .cache/pre-commit

  except:
    - schedules

  variables:
    PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
    PRE_COMMIT_HOME: "$CI_PROJECT_DIR/.cache/pre-commit"

  before_script:
    - pip install pre-commit

  script:
    - pre-commit run -a

test:
  image: python:3.10

  stage: test
  cache:
    paths:
      - .cache/pip

  variables:
    PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
    ARKINDEX_API_SCHEMA_URL: schema.yml

  before_script:
    - pip install tox

    # Download OpenAPI schema from last backend build
    - curl https://assets.teklia.com/arkindex/openapi.yml > schema.yml

    # Add system deps for opencv
    - apt-get update -q
    - apt-get install -q -y libgl1

  except:
    - schedules

  script:
    - tox

# Make sure docs still build correctly
.docs:
  image: python:3.10
  artifacts:
    paths:
      - public

  before_script:
    - pip install -e .[docs]

  script:
    - mkdocs build --strict --verbose

docs-build:
  extends: .docs
  stage: build