engine: Refactor kubernetes release jobs
[infra/cicd.git] / jjb / engine / scripts / promote.sh
index 7d3789a8bd5ae4aeb79c14641bef2778ce80c8ab..a6ac651cad0e68facbd4c152ad12ffeb5d63579a 100755 (executable)
@@ -22,25 +22,33 @@ set -o nounset
 set -o errexit
 set -o pipefail
 
-if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
-  cd /tmp
-  URL_TO_UPLOAD=$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/release/latest
-  for ARTIFACT_TO_UPLOAD in $ARTIFACTS_TO_UPLOAD; do
-    echo "Info  : Generating checksums for $ARTIFACT_TO_UPLOAD"
-    ARTIFACT_MD5SUM=$(md5sum $ARTIFACT_TO_UPLOAD | cut -d' ' -f1)
-    ARTIFACT_SHASUM=$(shasum $ARTIFACT_TO_UPLOAD | cut -d' ' -f1)
-    ARTIFACT_SHA256SUM=$(sha256sum $ARTIFACT_TO_UPLOAD | cut -d' ' -f1)
-
-    echo "Info  : Promoting $ARTIFACT_TO_UPLOAD"
-    curl -s -S \
-        -H "X-JFrog-Art-Api:$NORDIX_ARM_TOKEN" \
-        -H "X-Checksum-MD5:$ARTIFACT_MD5SUM" \
-        -H "X-Checksum-Sha1:$ARTIFACT_SHASUM" \
-        -H "X-Checksum-Sha256:$ARTIFACT_SHA256SUM" \
-        -T $ARTIFACT_TO_UPLOAD \
-        "$URL_TO_UPLOAD/$ARTIFACT_TO_UPLOAD"
-    echo "Info  : Artifact $ARTIFACT_TO_UPLOAD is available on $URL_TO_UPLOAD/$ARTIFACT_TO_UPLOAD"
-  done
-else
-  echo "Info  : Online deployment. No artifact to upload."
+if [[ "$PROMOTE_STACK" != "true" ]]; then
+  echo "Info  : Promotion is disabled. Skipping!"
+  exit 0
 fi
+
+echo "Info  : Promoting stack!"
+
+cd /tmp
+for BUILD_ARTIFACT in $BUILD_ARTIFACTS; do
+  echo "Info  : Generating checksums for $BUILD_ARTIFACT"
+  ARTIFACT_MD5SUM=$(md5sum $BUILD_ARTIFACT | cut -d' ' -f1)
+  ARTIFACT_SHASUM=$(shasum $BUILD_ARTIFACT | cut -d' ' -f1)
+  ARTIFACT_SHA256SUM=$(sha256sum $BUILD_ARTIFACT | cut -d' ' -f1)
+
+  # NOTE (fdegir): get rid of /tmp from BUILD_ARTIFACT
+  REMOTE_ARTIFACT=$(echo $BUILD_ARTIFACT | sed 's/.*\///g')
+
+  # NOTE (fdegir): promotion is copying artifacts to latest folder for the release/branch
+  PROMOTED_ARTIFACT_URL=$(echo $NORDIX_ARTIFACT_URL | sed "s/$BUILD_IDENTIFIER/latest/g")
+
+  echo "Info  : Uploading $BUILD_ARTIFACT to Nordix Artifactory"
+  curl -s -S \
+      -H "X-JFrog-Art-Api:$NORDIX_ARM_TOKEN" \
+      -H "X-Checksum-MD5:$ARTIFACT_MD5SUM" \
+      -H "X-Checksum-Sha1:$ARTIFACT_SHASUM" \
+      -H "X-Checksum-Sha256:$ARTIFACT_SHA256SUM" \
+      -T $BUILD_ARTIFACT \
+      "$PROMOTED_ARTIFACT_URL/$REMOTE_ARTIFACT"
+  echo "Info  : Artifact $BUILD_ARTIFACT is promoted to $PROMOTED_ARTIFACT_URL/$REMOTE_ARTIFACT"
+done