Loading .gitlab-ci.yml +52 −8 Original line number Diff line number Diff line Loading @@ -592,6 +592,8 @@ nightly_workflows_job: nightly_promote_images_job: stage: nightly_result tags: Loading @@ -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: Loading Loading
.gitlab-ci.yml +52 −8 Original line number Diff line number Diff line Loading @@ -592,6 +592,8 @@ nightly_workflows_job: nightly_promote_images_job: stage: nightly_result tags: Loading @@ -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: Loading