.build_prod:
  extends: .docker_build
  stage: build-permifrost
  variables:
    DOCKERFILE: docker/prod/Dockerfile
    IMAGE_NAME: $CI_REGISTRY_IMAGE
    IMAGE_TAG: $CI_COMMIT_REF_NAME
  before_script:
    - export EXTRA_ARGS="--build-arg BASE_IMAGE=$CI_REGISTRY_IMAGE/base:$CI_COMMIT_REF_NAME"
  artifacts:
    paths:
      - dist

# Manages:
#  - gitlab-data/permifrost:<sha>
permifrost_dev:
  extends: .build_prod
  except:
    - master
    - tags

# Manages:
#  - gitlab-data/permifrost:<sha>
#  - gitlab-data/permifrost:edge
permifrost_edge:
  extends:
    - .build_prod
    - .only:master
  script:
    - source .gitlab/ci/scripts/docker_build_script.sh
    - docker tag $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:edge
    - docker push $IMAGE_NAME:edge

# Manages:
#  - gitlab-data/permifrost:<sha>
#  - gitlab-data/permifrost:<tag>
#  - gitlab-data/permifrost:latest
permifrost:
  extends:
    - .build_prod
    - .only:version-tags
  script:
    - source .gitlab/ci/scripts/docker_build_script.sh
    - docker tag $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$CI_COMMIT_TAG
    - docker tag $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:latest
    - docker push $IMAGE_NAME:$CI_COMMIT_TAG
    - docker push $IMAGE_NAME:latest
