Skip to content
.gitlab-ci.yml 1.22 KiB
Newer Older
Bengfort's avatar
Bengfort committed
image: docker
services:
  - docker:dind

stages:
  - test
  - build
  - release

variables:
  DEBIAN_FRONTEND: noninteractive
  PYTHON_IMAGE: buildpack-deps
  PYTHON_IMAGE_DEPENDENCIES: "python3-pip python3-psycopg2"
  CONTAINER_TEST_IMAGE: registry.git.mpib-berlin.mpg.de/castellum/castellum_scheduler:$CI_COMMIT_REF_NAME
  CONTAINER_RELEASE_IMAGE: registry.git.mpib-berlin.mpg.de/castellum/castellum_scheduler:latest

test-branch:
  stage: test
  image: $PYTHON_IMAGE
  script:
    - apt-get update -q && apt-get install -y -qq $PYTHON_IMAGE_DEPENDENCIES
Hayat's avatar
Hayat committed
    - pip3 install -e .
Bengfort's avatar
Bengfort committed
    - pip3 install flake8
    - flake8
    - django-admin makemigrations --dry-run --check --noinput --settings=scheduler.settings.development
Bengfort's avatar
Bengfort committed

build:
  stage: build
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.git.mpib-berlin.mpg.de
    - docker build -t $CONTAINER_TEST_IMAGE .
    - docker push $CONTAINER_TEST_IMAGE
    - docker image ls

release-image:
  stage: release
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.git.mpib-berlin.mpg.de
    - docker pull $CONTAINER_TEST_IMAGE
    - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
    - docker push $CONTAINER_RELEASE_IMAGE
  only:
    - master