-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: separate location for custom builds
Previously, we published custom builds to the same bucket and docker repository as the release-* and master builds. This PR uses separate GCS bucket and GAR repository for builds other than on master and release-* branches. It also removes unused dockerhub login call. Fixes: DEVINF-590 Epic: None Release note: None
- Loading branch information
Showing
2 changed files
with
50 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,13 +12,17 @@ build_name=$(git describe --tags --dirty --match=v[0-9]* 2> /dev/null || git rev | |
|
||
# On no match, `grep -Eo` returns 1. `|| echo""` makes the script not error. | ||
release_branch="$(echo "$build_name" | grep -Eo "^v[0-9]+\.[0-9]+" || echo"")" | ||
is_custom_build="$(echo "$TC_BUILD_BRANCH" | grep -Eo "^custombuild-" || echo "")" | ||
is_release_build="$(echo "$TC_BUILD_BRANCH" | grep -Eo "^(release-[0-9][0-9]\.[0-9](\.0)?)$" || echo "")" | ||
is_customized_build="$(echo "$TC_BUILD_BRANCH" | grep -Eo "^custombuild-" || echo "")" | ||
github_ssh_key="${GITHUB_COCKROACH_TEAMCITY_PRIVATE_SSH_KEY}" | ||
|
||
if [[ -z "${DRY_RUN}" ]] ; then | ||
google_credentials=$GOOGLE_COCKROACH_CLOUD_IMAGES_COCKROACHDB_CREDENTIALS | ||
gcr_repository="us-docker.pkg.dev/cockroach-cloud-images/cockroachdb/cockroach" | ||
# Used for docker login for gcloud | ||
gcr_hostname="us-docker.pkg.dev" | ||
if [[ -z "${is_customized_build}" ]] ; then | ||
google_credentials=$GOOGLE_COCKROACH_CLOUD_IMAGES_COCKROACHDB_CREDENTIALS | ||
gcr_repository="us-docker.pkg.dev/cockroach-cloud-images/cockroachdb/cockroach" | ||
# Used for docker login for gcloud | ||
gcr_hostname="us-docker.pkg.dev" | ||
fi | ||
else | ||
google_credentials="$GOOGLE_COCKROACH_RELEASE_CREDENTIALS" | ||
gcr_repository="us.gcr.io/cockroach-release/cockroach-test" | ||
|
@@ -28,39 +32,39 @@ fi | |
|
||
cat << EOF | ||
build_name: $build_name | ||
release_branch: $release_branch | ||
is_custom_build: $is_custom_build | ||
gcr_repository: $gcr_repository | ||
build_name: $build_name | ||
release_branch: $release_branch | ||
is_customized_build: $is_customized_build | ||
gcr_repository: $gcr_repository | ||
EOF | ||
tc_end_block "Variable Setup" | ||
|
||
|
||
tc_start_block "Tag the release" | ||
git tag "${build_name}" | ||
tc_end_block "Tag the release" | ||
|
||
tc_start_block "Push release tag to github.com/cockroachlabs/release-staging" | ||
github_ssh_key="${GITHUB_COCKROACH_TEAMCITY_PRIVATE_SSH_KEY}" | ||
configure_git_ssh_key | ||
git_wrapped push ssh://[email protected]/cockroachlabs/release-staging.git "${build_name}" | ||
tc_end_block "Push release tag to github.com/cockroachlabs/release-staging" | ||
|
||
|
||
tc_start_block "Tag docker image as latest-build" | ||
# Only tag the image as "latest-vX.Y-build" if the tag is on a release branch | ||
# (or master for the alphas for the next major release). | ||
if [[ -n "${release_branch}" ]] ; then | ||
log_into_gcloud | ||
gcloud container images add-tag "${gcr_repository}:${build_name}" "${gcr_repository}:latest-${release_branch}-build" | ||
fi | ||
if [[ "$TC_BUILD_BRANCH" == "master" ]]; then | ||
log_into_gcloud | ||
gcloud container images add-tag "${gcr_repository}:${build_name}" "${gcr_repository}:latest-master-build" | ||
fi | ||
if [[ -z "${is_customized_build}" ]] ; then | ||
tc_start_block "Tag the release" | ||
git tag "${build_name}" | ||
tc_end_block "Tag the release" | ||
|
||
tc_start_block "Push release tag to github.com/cockroachlabs/release-staging" | ||
git_wrapped push ssh://[email protected]/cockroachlabs/release-staging.git "${build_name}" | ||
tc_end_block "Push release tag to github.com/cockroachlabs/release-staging" | ||
|
||
|
||
tc_start_block "Tag docker image as latest-build" | ||
# Only tag the image as "latest-vX.Y-build" if the tag is on a release branch | ||
# (or master for the alphas for the next major release). | ||
if [[ -n "${is_release_build}" ]] ; then | ||
log_into_gcloud | ||
gcloud container images add-tag "${gcr_repository}:${build_name}" "${gcr_repository}:latest-${release_branch}-build" | ||
fi | ||
if [[ "$TC_BUILD_BRANCH" == "master" ]]; then | ||
log_into_gcloud | ||
gcloud container images add-tag "${gcr_repository}:${build_name}" "${gcr_repository}:latest-master-build" | ||
fi | ||
tc_end_block "Tag docker image as latest-build" | ||
|
||
fi | ||
|
||
# Make finding the tag name easy. | ||
cat << EOF | ||
|
@@ -72,7 +76,7 @@ Build ID: ${build_name} | |
EOF | ||
|
||
|
||
if [[ -n "${is_custom_build}" ]] ; then | ||
if [[ -n "${is_customized_build}" ]] ; then | ||
tc_start_block "Delete custombuild tag" | ||
git_wrapped push ssh://[email protected]/cockroachdb/cockroach.git --delete "${TC_BUILD_BRANCH}" | ||
tc_end_block "Delete custombuild tag" | ||
|