Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.77 KiB
Newer Older
---

image: registry.ubicast.net/mediaserver/envsetup

stages:
  - docker
  - lint
  - test

before_script:
  - make install-dev

docker:build:
  image: docker:stable
  stage: docker
  tags:
    - docker
    - if: '$CI_PIPELINE_SOURCE == "push"'
      changes:
        - .devcontainer/Dockerfile
        - ansible/requirements.dev.txt
  before_script:
    - apk add bash make
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.ubicast.net
    - make docker-build
    - make docker-push

docker:rebuild:
  image: docker:stable
  stage: docker
  tags:
    - docker
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
    - if: '$CI_PIPELINE_SOURCE == "web"'
  before_script:
    - apk add bash make
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.ubicast.net
  script:
    - make docker-build
    - make docker-push

lint:
  image: registry.ubicast.net/mediaserver/envsetup
  stage: lint
  tags:
    - docker
  rules:
    - if: '$CI_PIPELINE_SOURCE == "web"'
    - if: '$CI_PIPELINE_SOURCE == "merge_requests"'
    - if: '$CI_PIPELINE_SOURCE == "push"'
      changes:
        - "*.yml"
        - "*.py"
  script:
    - make lint

test:
  image: registry.ubicast.net/mediaserver/envsetup:root
  stage: test
  tags:
    - docker
  rules:
    - if: '$CI_PIPELINE_SOURCE == "web"'
    - if: '$CI_PIPELINE_SOURCE == "merge_requests"'
    - if: '$CI_PIPELINE_SOURCE == "push"'
      changes:
        - ansible/**/*
  script:
    - make test

test-ha-pgsql:
  image: registry.ubicast.net/mediaserver/envsetup:root
  stage: test
  tags:
    - docker
  rules:
    - if: '$CI_PIPELINE_SOURCE == "web"'
    - if: '$CI_PIPELINE_SOURCE == "merge_requests"'
    - if: '$CI_PIPELINE_SOURCE == "push"'
      changes:
        - ansible/**/*
  script:
    - make test ha-pgsql=1