Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.42 KiB
Newer Older
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
stages:
  - test
  - quality-assurance
  - docs
# Also fetch submodules
variables:
  GIT_SUBMODULE_STRATEGY: recursive

me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
# Debian Buster
py37-django22:
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  stage: test
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  image: debian:buster-backports
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  before_script:
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
    - >
        apt-get update &&
        apt-get install --no-install-recommends -t buster-backports -y
        python3-django python3-django-crispy-forms
        python3-django-extensions python3-django-filters python3-django-polymorphic
        python3-djangorestframework python3-django-oauth-toolkit python3-psycopg2 python3-pil
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
        python3-babel python3-lockfile python3-pip python3-phonenumbers python3-memcache
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
        python3-bs4 python3-setuptools tox texlive-xetex
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  script: tox -e py37-django22
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
# Ubuntu 20.04
py38-django22:
  stage: test
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  image: ubuntu:20.04
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  before_script:
    # Fix tzdata prompt
    - ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime && echo Europe/Paris > /etc/timezone
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
    - >
        apt-get update &&
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
        apt-get install --no-install-recommends -y
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
        python3-django python3-django-crispy-forms
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
        python3-django-extensions python3-django-filters python3-django-polymorphic
        python3-djangorestframework python3-django-oauth-toolkit python3-psycopg2 python3-pil
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
        python3-babel python3-lockfile python3-pip python3-phonenumbers python3-memcache
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
        python3-bs4 python3-setuptools tox texlive-xetex
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  script: tox -e py38-django22
# Debian Bullseye
py39-django22:
  stage: test
  image: debian:bullseye
  before_script:
    - >
        apt-get update &&
        apt-get install --no-install-recommends -y
        python3-django python3-django-crispy-forms
        python3-django-extensions python3-django-filters python3-django-polymorphic
        python3-djangorestframework python3-django-oauth-toolkit python3-psycopg2 python3-pil
        python3-babel python3-lockfile python3-pip python3-phonenumbers python3-memcache
        python3-bs4 python3-setuptools tox texlive-xetex
  script: tox -e py39-django22

me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
linters:
  stage: quality-assurance
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  image: debian:buster-backports
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  before_script:
    - apt-get update && apt-get install -y tox
me5na7qbjqbrp's avatar
me5na7qbjqbrp committed
  script: tox -e linters

  # Be nice to new contributors, but please use `tox`
  allow_failure: true

# Compile documentation
documentation:
  stage: docs
  image: sphinxdoc/sphinx
  before_script:
    - pip install sphinx-rtd-theme
    - cd docs
  script:
    - make dirhtml
  artifacts:
    paths:
      - docs/_build
    expire_in: 1 day