---
include: '//templates/template.yml'

image_build:
  extends: .retry
  stage: release
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  tags:
    - release
    - kaniko
  script:
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor
      --context $CI_PROJECT_DIR
      --dockerfile $CI_PROJECT_DIR/Dockerfile
      --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_HG_SHORT_SHA
  rules:
    - if: '$CI_COMMIT_REF_NAME != "branch/default"'

image_build_latest:
  extends: .retry
  stage: release
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  tags:
    - release
    - kaniko
  script:
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor
      --context $CI_PROJECT_DIR
      --dockerfile $CI_PROJECT_DIR/Dockerfile
      --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_HG_SHORT_SHA
      --destination $CI_REGISTRY_IMAGE:latest
  rules:
    - if: '$CI_COMMIT_REF_NAME == "branch/default"'

image_build_tag:
  extends: .retry
  stage: release
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  tags:
    - release
    - kaniko
  script:
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor
      --context $CI_PROJECT_DIR
      --dockerfile $CI_PROJECT_DIR/Dockerfile
      --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_HG_SHORT_SHA
      --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
  rules:
    - if: "$CI_MERGE_REQUEST_ID"
      when: never
    - if: "$CI_COMMIT_TAG"
      when: on_success