From d2e0703195e26dc2ef766d9c0b1202c104409760 Mon Sep 17 00:00:00 2001 From: Thilo Fromm Date: Wed, 23 Feb 2022 20:41:57 +0100 Subject: [PATCH] ci-automation: SDK build updates version.txt in main branch This change has sdk_bootstrap update the origin branch when run from the main branch, updating the SDK and OS version in 'main' for each SDK bootstrap build. Release / maintenance branches have the SDK version set in the versionfile at release time. But main is never updated. Updating the versionfile in main when a new SDK is built ensures that dev branches based on main will also use the correct SDK version (e.g. in subsequent CI builds). --- ci-automation/ci_automation_common.sh | 6 ++++-- ci-automation/sdk_bootstrap.sh | 10 ++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ci-automation/ci_automation_common.sh b/ci-automation/ci_automation_common.sh index 2cb574ecaf..dccd941000 100644 --- a/ci-automation/ci_automation_common.sh +++ b/ci-automation/ci_automation_common.sh @@ -49,6 +49,7 @@ function update_submodules() { function update_and_push_version() { local version="$1" + local push_to_branch="${2:-false}" # set up author and email so git does not complain when tagging if ! git config --get user.name >/dev/null 2>&1 ; then @@ -72,8 +73,9 @@ function update_and_push_version() { git tag -f "${TAG_ARGS[@]}" "${version}" - if [ "${PUSH-0}" = 1 ]; then - git push + if [ "${push_to_branch}" = "true" ]; then + local branch="$(git rev-parse --abbrev-ref HEAD)" + git push origin "${branch}" fi if git push origin "${version}" ; then diff --git a/ci-automation/sdk_bootstrap.sh b/ci-automation/sdk_bootstrap.sh index 085e67e5f5..d7b14effad 100644 --- a/ci-automation/sdk_bootstrap.sh +++ b/ci-automation/sdk_bootstrap.sh @@ -84,7 +84,13 @@ function sdk_bootstrap() { copy_to_buildcache "sdk/${ARCH}/${vernum}" "${dest_tarball}"* cd - - # Create new tag in scripts repo w/ updated versionfile + submodules - update_and_push_version "sdk-${git_vernum}" + # Create new tag in scripts repo w/ updated versionfile + submodules. + # When on the 'main' branch then also push to the branch so the versionfile + # and git submodules stay up to date. + local push_branch="false" + if [ "$(git rev-parse --abbrev-ref HEAD)" = "main" ] ; then + push_branch="true" + fi + update_and_push_version "sdk-${git_vernum}" "${push_branch}" } # --