Commit af79213d authored by Nikos Psaromanolakis's avatar Nikos Psaromanolakis
Browse files

Edit .gitlab-ci.yml

parent 1744d1fc
Loading
Loading
Loading
Loading
Loading
+52 −8
Original line number Diff line number Diff line
@@ -592,6 +592,8 @@ nightly_workflows_job:





nightly_promote_images_job:
  stage: nightly_result
  tags:
@@ -613,31 +615,73 @@ nightly_promote_images_job:
    - |
      set -eu

      DATE_TAG="nightly-$(date +%Y-%m-%d)"
      REPORT_FILE="successful_nightly_images.txt"

      cat > "$REPORT_FILE" <<EOF
      Successful nightly report
      Date: $(date +%F)

      The following dev-latest images passed the nightly workflows
      and were promoted to latest.

      Images:

      EOF

      for IMAGE in $NIGHTLY_IMAGES; do
        DEV_IMAGE="${IMAGE}:dev-latest"
        LATEST_IMAGE="${IMAGE}:latest"
        DATED_IMAGE="${IMAGE}:${DATE_TAG}"

        echo "=============================================="
        echo "Promoting:"
        echo "  $DEV_IMAGE"
        echo "to:"
        echo "  $LATEST_IMAGE"

        docker pull "$DEV_IMAGE"

        docker tag "$DEV_IMAGE" "$LATEST_IMAGE"
        docker tag "$DEV_IMAGE" "$DATED_IMAGE"
        IMAGE_ID=$(
          docker image inspect \
            --format '{{.Id}}' \
            "$DEV_IMAGE"
        )

        docker tag "$DEV_IMAGE" "$LATEST_IMAGE"
        docker push "$LATEST_IMAGE"
        docker push "$DATED_IMAGE"

        docker image rm -f "$DEV_IMAGE" "$LATEST_IMAGE" "$DATED_IMAGE" >/dev/null 2>&1 || true
        cat >> "$REPORT_FILE" <<EOF
      - $(basename "$IMAGE")
        Source: ${DEV_IMAGE}
        Promoted to: ${LATEST_IMAGE}
        Image ID: ${IMAGE_ID}

      EOF

        echo "Promotion completed:"
        echo "  $DEV_IMAGE -> $LATEST_IMAGE"

        docker image rm -f \
          "$DEV_IMAGE" \
          "$LATEST_IMAGE" \
          >/dev/null 2>&1 || true
      done

      echo
      echo "Successful nightly report:"
      echo "=============================================="
      cat "$REPORT_FILE"

  artifacts:
    when: always
    expire_in: 30 days
    paths:
      - successful_nightly_images.txt
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: on_success
    - when: never




nightly_compare_failed_images_job:
  stage: nightly_result
  tags: