Files
my-rook-config/tests/scripts/build-release.sh
T

76 lines
2.2 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -ex
#############
# FUNCTIONS #
#############
MAKE='make --debug=v --output-sync'
2021-09-01 12:59:32 -06:00
function build() {
2021-09-01 12:59:32 -06:00
$MAKE build.all
# quick check that go modules are tidied
2021-09-01 12:59:32 -06:00
$MAKE mod.check
}
function publish_images_and_docs() {
2021-07-16 13:20:31 +05:30
build
2021-09-01 12:59:32 -06:00
$MAKE -C build/release build BRANCH_NAME=${BRANCH_NAME} TAG_WITH_SUFFIX=${TAG_WITH_SUFFIX} GIT_API_TOKEN=${GIT_API_TOKEN}
2021-07-16 13:20:31 +05:30
git status &
git diff &
$MAKE -C build/release publish BRANCH_NAME=${BRANCH_NAME} TAG_WITH_SUFFIX=${TAG_WITH_SUFFIX} AWS_ACCESS_KEY_ID=${AWS_USR} AWS_SECRET_ACCESS_KEY=${AWS_PSW} GIT_API_TOKEN=${GIT_API_TOKEN} TAGGED_RELEASE=${TAGGED_RELEASE}
2021-07-16 13:20:31 +05:30
}
2021-07-23 22:01:52 +05:30
function publish_charts() {
echo "Publishing helm charts for release build"
$MAKE -C build/release promote BRANCH_NAME=${BRANCH_NAME} TAG_WITH_SUFFIX=${TAG_WITH_SUFFIX} AWS_ACCESS_KEY_ID=${AWS_USR} AWS_SECRET_ACCESS_KEY=${AWS_PSW}
}
#############
# MAIN #
#############
# Load dot env file if available
if [ -f .env ]; then
# shellcheck disable=SC2046
export $(grep -v '^#' .env | xargs -d '\n')
fi
2026-02-18 17:26:45 +05:30
# Use Git access token for accessing the docs repo if set
# shellcheck disable=SC2034
2026-02-18 17:26:45 +05:30
export DOCS_GIT_REPO="${DOCS_GIT_REPO:-git@github.com:rook/rook.github.io.git}"
if [ -n "${GIT_API_TOKEN}" ]; then
DOCS_GIT_REPO="${DOCS_GIT_REPO//git@/}"
DOCS_GIT_REPO="${DOCS_GIT_REPO//:/\/}"
2023-04-04 18:50:02 +02:00
export DOCS_GIT_REPO="https://${GIT_API_TOKEN}@${DOCS_GIT_REPO}"
fi
TAGGED_RELEASE=false
if [[ ${GITHUB_REF} =~ master ]]; then
echo "Publishing from master"
else
echo "Tagging with suffix for release and tagged builds"
TAG_WITH_SUFFIX=true
# If a tag, find the source release branch
if [[ $BRANCH_NAME = v* ]]; then
TAG_NAME=${BRANCH_NAME}
BRANCH_NAME=$(git branch -r --contain refs/tags/${BRANCH_NAME} | grep "origin/release-." | sed 's/origin\///' | xargs)
if [[ $BRANCH_NAME = "" ]]; then
echo "Branch name not found in tag $TAG_NAME"
exit 1
fi
echo "Publishing tag ${TAG_NAME} in branch ${BRANCH_NAME}"
TAGGED_RELEASE=true
else
echo "Publishing from release branch ${BRANCH_NAME}"
fi
fi
publish_images_and_docs
if [[ "$TAGGED_RELEASE" = true ]]; then
publish_charts
2021-07-23 22:01:52 +05:30
fi