oom-upload.sh: fix uploading latest version
[infra/cicd.git] / jjb / cloud-infra / scripts / oom-upload.sh
index 02197cfa90bd659abaf51a5c3cd821283b95b671..696e0ea747dc605352bfa45fdf77c10c53acc4d6 100644 (file)
 set -o errexit
 set -o pipefail
 
+YQ_BIN="${WORKSPACE}/bin/yq"
 ONAP_OOM_GIT_REVISION=$(cd "${WORKSPACE}/build/onap-oom" && git rev-parse --short HEAD)
-ONAP_UMBRELLA_CHART=$(find ${WORKSPACE}/build/onap-oom/kubernetes/dist/packages -name onap-*${ONAP_OOM_GIT_REVISION}.tgz)
-IMAGES_LIST=$(find ${WORKSPACE} -maxdepth 1 -name onap-*${ONAP_OOM_GIT_REVISION}_images.txt)
+ONAP_OOM_VERSION=$(${YQ_BIN} e '.version' "${WORKSPACE}/build/onap-oom/kubernetes/onap/Chart.yaml")
+ONAP_OOM_VERSION_LATEST="${ONAP_OOM_VERSION//${ONAP_OOM_GIT_REVISION}/latest}"
+
+ONAP_UMBRELLA_CHART="${WORKSPACE}/build/onap-oom/kubernetes/dist/packages/onap-${ONAP_OOM_VERSION}.tgz"
+IMAGES_LIST="${WORKSPACE}/onap-${ONAP_OOM_VERSION}_images.txt"
 
 export NORDIX_ARM_REPO="onap"
 export ARTIFACT_ARM_FOLDER="oom"
 export BUILD_IDENTIFIER="${ONAP_OOM_GIT_REVISION}"
 export NORDIX_ARTIFACT_URL="${NORDIX_ARM_HTTPS_URL}/${NORDIX_ARM_REPO}/${ARTIFACT_ARM_FOLDER}/${BUILD_IDENTIFIER}"
+export NORDIX_ARTIFACT_URL_LATEST="${NORDIX_ARM_HTTPS_URL}/${NORDIX_ARM_REPO}/${ARTIFACT_ARM_FOLDER}/latest"
 
 echo "Info  : Pushing ONAP umbrella chart to Nordix Harbor"
 HELM_BIN="${WORKSPACE}/bin/helm"
 ${HELM_BIN} repo remove onaptest || true
 ${HELM_BIN} repo add onaptest "${NORDIX_REGISTRY}/chartrepo/onaptest"
 ${HELM_BIN} push -f "${ONAP_UMBRELLA_CHART}" --username "${HARBOR_USERNAME}" --password "${HARBOR_PASSWORD}" onaptest
+# Also push with "latest" version
+${HELM_BIN} push -f "${ONAP_UMBRELLA_CHART}" --username "${HARBOR_USERNAME}" --password "${HARBOR_PASSWORD}" --version "${ONAP_OOM_VERSION_LATEST}" onaptest
 
 export BUILD_ARTIFACTS="${ONAP_UMBRELLA_CHART} ${IMAGES_LIST}"
 echo "Info  : Uploading ${BUILD_ARTIFACTS} to Nordix ARM ${NORDIX_ARM_REPO} repository"
@@ -45,8 +52,10 @@ for BUILD_ARTIFACT in $BUILD_ARTIFACTS; do
   ARTIFACT_SHA256SUM=$(sha256sum "${BUILD_ARTIFACT}" | cut -d' ' -f1)
 
   REMOTE_ARTIFACT=$(basename "${BUILD_ARTIFACT}")
+  REMOTE_ARTIFACT_LATEST=$(basename "${BUILD_ARTIFACT//${ONAP_OOM_GIT_REVISION}/latest}")
   # NOTE(cian): URL-encoding remote artifact as filename may contain special characters
-  REMOTE_ARTIFACT=$(echo -n "${REMOTE_ARTIFACT}" | python3 -c 'from sys import stdout, stdin; from urllib.parse import quote; stdout.write(quote(stdin.read()))')
+  REMOTE_ARTIFACT_QUOTED=$(echo -n "${REMOTE_ARTIFACT}" | python3 -c 'from sys import stdout, stdin; from urllib.parse import quote; stdout.write(quote(stdin.read()))')
+  REMOTE_ARTIFACT_LATEST_QUOTED=$(echo -n "${REMOTE_ARTIFACT_LATEST}" | python3 -c 'from sys import stdout, stdin; from urllib.parse import quote; stdout.write(quote(stdin.read()))')
 
   echo "Info  : Uploading ${BUILD_ARTIFACT} to Nordix Artifactory"
   curl -s -S \
@@ -56,7 +65,16 @@ for BUILD_ARTIFACT in $BUILD_ARTIFACTS; do
       -H "X-Checksum-Sha256:${ARTIFACT_SHA256SUM}" \
       -T "${BUILD_ARTIFACT}" \
       "${NORDIX_ARTIFACT_URL}/${REMOTE_ARTIFACT}"
-  echo "Info  : Artifact ${BUILD_ARTIFACT} is available on ${NORDIX_ARTIFACT_URL}/${REMOTE_ARTIFACT}"
+  echo "Info  : Artifact ${BUILD_ARTIFACT} is available on ${NORDIX_ARTIFACT_URL}/${REMOTE_ARTIFACT_QUOTED}"
+  echo "Info  : Uploading ${BUILD_ARTIFACT} to Nordix Artifactory as ${REMOTE_ARTIFACT_LATEST}"
+  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}" \
+      "${NORDIX_ARTIFACT_URL_LATEST}/${REMOTE_ARTIFACT_LATEST}"
+  echo "Info  : Artifact ${BUILD_ARTIFACT} available on ${NORDIX_ARTIFACT_URL_LATEST}/${REMOTE_ARTIFACT_LATEST_QUOTED}"
 done
 
 echo "Done!"