Skip to content
.gitlab-ci.yml 1.09 KiB
Newer Older
nimrod's avatar
nimrod committed
---
image: adarnimrod/ci-images:docker

stages:
nimrod's avatar
nimrod committed
  - test
nimrod's avatar
nimrod committed
  - build
  - run

nimrod's avatar
nimrod committed
pre-commit:
  stage: test
  image: adarnimrod/ci-images:pre-commit
  variables:
    XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
nimrod's avatar
nimrod committed
    # Disabled until https://github.com/pre-commit/pre-commit/issues/1387 is
    # resolved.
    SKIP: "hadolint,docker-compose"
nimrod's avatar
nimrod committed
  script:
    - pre-commit run --all-files
  cache:
    paths:
      - .cache/

nimrod's avatar
nimrod committed
build:
  stage: build
  tags: ["ns4.shore.co.il"]
nimrod's avatar
nimrod committed
  variables:
    # COMPOSE_DOCKER_CLI_BUILD: "1"
    # DOCKER_BUILDKIT: "1"
nimrod's avatar
nimrod committed
  script:
nimrod's avatar
nimrod committed
    - docker-compose build --no-cache --pull
nimrod's avatar
nimrod committed
    - docker-compose pull --quiet
nimrod's avatar
nimrod committed

run:
  stage: run
  tags: ["ns4.shore.co.il"]
  when: manual
  script:
nimrod's avatar
nimrod committed
    - docker-compose up --detach --remove-orphans
nimrod's avatar
nimrod committed
    # yamllint disable rule:line-length
nimrod's avatar
nimrod committed
    - |
        for i in $(seq 12)
        do
            docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$' || break
            sleep 10
        done
        ! docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$'