Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.38 KiB
Newer Older
Cédric Krier's avatar
Cédric Krier committed
workflow:
  rules:
Cédric Krier's avatar
Cédric Krier committed
    - if: $CI_COMMIT_BRANCH =~ /^topic\/.*/ && $CI_PIPELINE_SOURCE == "push"
Cédric Krier's avatar
Cédric Krier committed
      when: never
Cédric Krier's avatar
Cédric Krier committed
    - when: always
Cédric Krier's avatar
Cédric Krier committed

stages:
  - preparation
  - check
  - test

javascript:
  stage: preparation
  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/node:15
  cache:
    paths:
      - .npm/
Cédric Krier's avatar
Cédric Krier committed
  script:
    - npm install --cache .npm --prefer-offline
Cédric Krier's avatar
Cédric Krier committed
    - npx gulp
  artifacts:
    paths:
      - static/js/
    expire_in: 1 week

.check:
  stage: check
  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/tryton/ci

check-flake8:
  extends: .check
  script:
    - flake8

check-isort:
  extends: .check
  script:
    - isort -c .

Cédric Krier's avatar
Cédric Krier committed
check-jinja:
  extends: .check
  before_script:
    - pip install djlint
  script:
    djlint -e jinja templates
  rules:
    - changes:
      - templates/**/*.jinja
Cédric Krier's avatar
Cédric Krier committed
test:
  stage: test
  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/python:3.9
  variables:
    PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
  cache:
    paths:
      - .cache/pip
  before_script:
    - pip install -r requirements.txt -r requirements-test.txt
Cédric Krier's avatar
Cédric Krier committed
  script:
    - coverage run --omit=*/tests/* -m xmlrunner discover -v --output-file junit.xml
    - coverage report
    - coverage xml
  coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
  artifacts:
    reports:
      junit: junit.xml
      coverage_report:
        coverage_format: cobertura
        path: coverage.xml