Skip to content
This repository has been archived by the owner on May 6, 2022. It is now read-only.

Commit

Permalink
Make the Service Catalog release process parallel (#2727)
Browse files Browse the repository at this point in the history
  • Loading branch information
mszostok authored and k8s-ci-robot committed Oct 7, 2019
1 parent 47081a0 commit 7b437af
Show file tree
Hide file tree
Showing 3 changed files with 126 additions and 6 deletions.
47 changes: 46 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,52 @@ jobs:
deploy:
skip_cleanup: true
provider: script
script: contrib/hack/ci/publish-release.sh
script: contrib/hack/ci/publish-svc-cat-release.sh --arch amd64
on:
repo: kubernetes-sigs/service-catalog
all_branches: true
- stage: deploy
script: skip
deploy:
skip_cleanup: true
provider: script
script: contrib/hack/ci/publish-svc-cat-release.sh --arch arm
on:
repo: kubernetes-sigs/service-catalog
all_branches: true
- stage: deploy
script: skip
deploy:
skip_cleanup: true
provider: script
script: contrib/hack/ci/publish-svc-cat-release.sh --arch arm64
on:
repo: kubernetes-sigs/service-catalog
all_branches: true
- stage: deploy
script: skip
deploy:
skip_cleanup: true
provider: script
script: contrib/hack/ci/publish-svc-cat-release.sh --arch ppc64le
on:
repo: kubernetes-sigs/service-catalog
all_branches: true
- stage: deploy
script: skip
deploy:
skip_cleanup: true
provider: script
script: contrib/hack/ci/publish-svc-cat-release.sh --arch s390x
on:
repo: kubernetes-sigs/service-catalog
all_branches: true
- stage: deploy
script: skip
deploy:
skip_cleanup: true
provider: script
script: contrib/hack/ci/publish-svcat-cli-release.sh
on:
repo: kubernetes-sigs/service-catalog
all_branches: true
Expand Down
75 changes: 75 additions & 0 deletions contrib/hack/ci/publish-svc-cat-release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/bin/bash

# Copyright 2017 The Kubernetes Authors.
#
# 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.

set -o errexit
set -o nounset
set -o pipefail

readonly CURRENT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
readonly REPO_ROOT_DIR=${CURRENT_DIR}/../../../

source "${CURRENT_DIR}/lib/utilities.sh" || { echo 'Cannot load CI utilities.'; exit 1; }

export REGISTRY=${REGISTRY:-quay.io/kubernetes-service-catalog/}

docker login -u "${QUAY_USERNAME}" -p "${QUAY_PASSWORD}" quay.io

usage() {
echo "${0} [-a arch] [-h]"
echo ""
echo " -a, --arch <arch-name>: Architecture name that should be released, i.e. amd64"
echo " -h, --help: Print help"
}

RELEASE_ARCH=""
if [[ "$#" -ne 0 ]]; then
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case ${key} in
-b|--arch)
RELEASE_ARCH="-${2}"
shift # past argument
shift # past value
;;
-h|--help)
usage
exit
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- ${POSITIONAL[@]+"${POSITIONAL[@]}"}
fi


pushd ${REPO_ROOT_DIR}
echo ${RELEASE_ARCH}
if [[ "${TRAVIS_TAG}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+[a-z]*((-beta.[0-9]+)|(-(r|R)(c|C)[0-9]+))?$ ]]; then
shout "Pushing Service Catalog ${RELEASE_ARCH} images with tags '${TRAVIS_TAG}' and 'latest'."
TAG_VERSION="${TRAVIS_TAG}" VERSION="${TRAVIS_TAG}" MUTABLE_TAG="latest" make release-push${RELEASE_ARCH}
elif [[ "${TRAVIS_BRANCH}" == "master" ]]; then
shout "Pushing Service Catalog ${RELEASE_ARCH} images with default tags (git sha and 'canary')."
make push
else
shout "Skip Service Catalog ${RELEASE_ARCH} deploy"
fi

popd
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ docker login -u "${QUAY_USERNAME}" -p "${QUAY_PASSWORD}" quay.io
pushd ${REPO_ROOT_DIR}

if [[ "${TRAVIS_TAG}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+[a-z]*((-beta.[0-9]+)|(-(r|R)(c|C)[0-9]+))?$ ]]; then
shout "Pushing images with tags '${TRAVIS_TAG}' and 'latest'."
TAG_VERSION="${TRAVIS_TAG}" VERSION="${TRAVIS_TAG}" MUTABLE_TAG="latest" make release-push svcat-publish
shout "Pushing svcat CLI images with tags '${TRAVIS_TAG}' and 'latest'."
TAG_VERSION="${TRAVIS_TAG}" VERSION="${TRAVIS_TAG}" MUTABLE_TAG="latest" make svcat-publish
elif [[ "${TRAVIS_BRANCH}" == "master" ]]; then
shout "Pushing images with default tags (git sha and 'canary')."
make push svcat-publish
shout "Pushing svcat CLI images with default tags (git sha and 'canary')."
make svcat-publish
else
shout "Nothing to deploy"
shout "Skipping svcat CLI deploy"
fi

popd

0 comments on commit 7b437af

Please sign in to comment.