blob: 696e0ea747dc605352bfa45fdf77c10c53acc4d6 [file] [log] [blame]
#!/bin/bash
# ============LICENSE_START=======================================================
# Copyright (C) 2021 The Nordix Foundation. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
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_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"
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)
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_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 \
-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}/${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!"
# vim: set ts=2 sw=2 expandtab: