Check if bundle image was created and pushed to quay.io

Signed-off-by: Flavius Lacatusu <flacatus@redhat.com>
pull/478/head
Flavius Lacatusu 2020-09-28 14:38:07 +02:00
parent b117aaf8a9
commit e64e2be325
No known key found for this signature in database
GPG Key ID: AB9AB3E390E38ABD
1 changed files with 37 additions and 19 deletions

View File

@ -1,9 +1,15 @@
#!/bin/bash
IMAGE_REGISTRY_USERNAME=eclipse
IMAGE_REGISTRY=quay.io
ROOT_PROJECT_DIR="${GITHUB_WORKSPACE}"
export BASE_DIR="${ROOT_PROJECT_DIR}/olm"
#
# Copyright (c) 2012-2020 Red Hat, Inc.
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Red Hat, Inc. - initial API and implementation
set -ex
# install yq
pip3 install wheel
@ -12,32 +18,44 @@ pip3 install yq
# Make python3 installed modules "visible"
export PATH=$HOME/.local/bin:$PATH
export IMAGE_REGISTRY_USERNAME=eclipse
export IMAGE_REGISTRY=quay.io
export ROOT_PROJECT_DIR="${PWD}"
export BASE_DIR="${ROOT_PROJECT_DIR}/olm"
for platform in 'kubernetes' 'openshift'
do
OPM_BUNDLE_DIR="${ROOT_PROJECT_DIR}/deploy/olm-catalog/eclipse-che-preview-${platform}"
OPM_BUNDLE_MANIFESTS_DIR="${OPM_BUNDLE_DIR}/manifests"
CSV="${OPM_BUNDLE_MANIFESTS_DIR}/che-operator.clusterserviceversion.yaml"
export OPM_BUNDLE_DIR="${ROOT_PROJECT_DIR}/deploy/olm-catalog/eclipse-che-preview-${platform}"
export OPM_BUNDLE_MANIFESTS_DIR="${OPM_BUNDLE_DIR}/manifests"
export CSV="${OPM_BUNDLE_MANIFESTS_DIR}/che-operator.clusterserviceversion.yaml"
nightlyVersion=$(yq -r ".spec.version" "${CSV}")
CATALOG_BUNDLE_IMAGE_NAME_LOCAL="${IMAGE_REGISTRY}/${IMAGE_REGISTRY_USERNAME}/eclipse-che-${platform}-opm-bundles:${nightlyVersion}"
CATALOG_IMAGENAME="${IMAGE_REGISTRY}/${IMAGE_REGISTRY_USERNAME}/eclipse-che-${platform}-opm-catalog:preview"
export nightlyVersion=$(yq -r ".spec.version" "${CSV}")
export CATALOG_BUNDLE_IMAGE_NAME_LOCAL="${IMAGE_REGISTRY}/${IMAGE_REGISTRY_USERNAME}/eclipse-che-${platform}-opm-bundles:${nightlyVersion}"
export CATALOG_IMAGENAME="${IMAGE_REGISTRY}/${IMAGE_REGISTRY_USERNAME}/eclipse-che-${platform}-opm-catalog:preview"
source "${ROOT_PROJECT_DIR}/olm/olm.sh" "${platform}" "${nightlyVersion}" "che"
source "${ROOT_PROJECT_DIR}/olm/incrementNightlyBundles.sh"
installOPM
${OPM_BINARY} version
incrementPart=$(getNightlyVersionIncrementPart "${nightlyVersion}")
echo "Nightly increment version ${incrementPart}"
export incrementPart=$(getNightlyVersionIncrementPart "${nightlyVersion}")
echo "[INFO] Nightly increment version ${incrementPart}"
buildBundleImage "${CATALOG_BUNDLE_IMAGE_NAME_LOCAL}"
export CHECK_NIGHTLY_TAG=$(skopeo inspect docker://quay.io/eclipse/eclipse-che-kubernetes-opm-bundles:${nightlyVersion} 2>/dev/null | jq -r '.RepoTags[]|select(. == "${nightlyVersion}")')
if [ -z "$CHECK_NIGHTLY_TAG" ]
then
buildBundleImage "${CATALOG_BUNDLE_IMAGE_NAME_LOCAL}"
if [ "${incrementPart}" == 0 ]; then
echo "[INFO] Build very first bundle."
buildCatalogImage "${CATALOG_IMAGENAME}" "${CATALOG_BUNDLE_IMAGE_NAME_LOCAL}"
else
buildCatalogImage "${CATALOG_IMAGENAME}" "${CATALOG_BUNDLE_IMAGE_NAME_LOCAL}" "docker" "${CATALOG_IMAGENAME}"
fi
if [ "${incrementPart}" == 0 ]; then
echo "Build very first bundle."
buildCatalogImage "${CATALOG_IMAGENAME}" "${CATALOG_BUNDLE_IMAGE_NAME_LOCAL}"
else
buildCatalogImage "${CATALOG_IMAGENAME}" "${CATALOG_BUNDLE_IMAGE_NAME_LOCAL}" "docker" "${CATALOG_IMAGENAME}"
echo "[INFO] Bundle already present in the catalog source"
fi
done