engine: Enable packaging and offline deployment for kolla
[infra/cicd.git] / jjb / engine / scripts / upload-artifact.sh
index 37d9d80c5e61ae3486f358d0859a7f1b839c0279..c0607d3af30ee73dfe4d66400099170029805c5e 100755 (executable)
@@ -22,22 +22,41 @@ set -o nounset
 set -o errexit
 set -o pipefail
 
-if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
-  echo "Info  : Generating artifact checksums"
+if [[ "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
+  export ARTIFACTS_TO_UPLOAD="os-installer-ubuntu1804.bsx"
+  export NORDIX_ARM_REPO="nordix-openstack"
+else
+  export ARTIFACTS_TO_UPLOAD="k8s-installer-ubuntu1804.bsx"
+  export NORDIX_ARM_REPO="nordix-kubernetes"
+fi
+
+
+if [[ "$CI_LOOP" == "periodic" ]]; then
+  export ARTIFACTS_TO_UPLOAD="$ARTIFACTS_TO_UPLOAD offline-package.tgz"
+else
+  export NORDIX_ARTIFACT_URL="$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/gerrit/$GERRIT_CHANGE_NUMBER"
+fi
+
+echo "Info  : Uploading $ARTIFACTS_TO_UPLOAD to Nordix ARM $NORDIX_ARM_REPO repository"
+
+if [[ "$EXECUTION_MODE" == "packaging" || "$EXECUTION_MODE" == "offline-deployment" ]]; then
   cd /tmp
-  ARTIFACT_MD5SUM=$(md5sum k8s-installer-ubuntu1804.bsx | cut -d' ' -f1)
-  ARTIFACT_SHASUM=$(shasum k8s-installer-ubuntu1804.bsx | cut -d' ' -f1)
-  ARTIFACT_SHA256SUM=$(sha256sum k8s-installer-ubuntu1804.bsx | cut -d' ' -f1)
-
-  echo "Info  : Uploading artifact to Nordix Artifactory"
-  curl -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 k8s-installer-ubuntu1804.bsx \
-      "$NORDIX_ARTIFACT_URL"
-  echo "Info  : Artifact is available on $NORDIX_ARTIFACT_URL"
+  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  : Uploading $ARTIFACT_TO_UPLOAD to Nordix Artifactory"
+    curl -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 \
+        "$NORDIX_ARTIFACT_URL/$ARTIFACT_TO_UPLOAD"
+    echo "Info  : Artifact $ARTIFACT_TO_UPLOAD is available on $NORDIX_ARTIFACT_URL/$ARTIFACT_TO_UPLOAD"
+  done
 else
   echo "Info  : Online deployment. No artifact to upload."
 fi