Skip to content

Commit

Permalink
DLPX-91971 linux-pkg: Add support for os-upgrade branches
Browse files Browse the repository at this point in the history
  • Loading branch information
palash-gandhi committed Aug 27, 2024
1 parent 649bfd2 commit f37b478
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions lib/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -746,6 +746,24 @@ function git_fetch_helper() {
git fetch "$git_url" "$@" || die "git fetch failed"
}

#
# Run git fetch with the passed arguments. Git url must be passed as first
# argument. If FETCH_GIT_TOKEN is set and this is a github repository
# then pass-in the token when fetching.
#
function git_branch_exists() {
local git_url="$1"
local label=''
shift

if [[ -n "$FETCH_GIT_TOKEN" ]] &&
[[ "$git_url" == https://github.com/* ]]; then
git_url="${git_url/https:\/\//https:\/\/${FETCH_GIT_TOKEN}@}"
label='[token passed]'
fi
git fetch "$git_url" "$@" --no-tags --depth=1 || return 1
}

#
# Fetch package repository into $WORKDIR/repo
#
Expand All @@ -769,6 +787,25 @@ function fetch_repo_from_git() {
logmust git show-ref repo-HEAD
logmust git show-ref upstream-HEAD
else

#
# The "os-upgrade" branch is used for Ubuntu version upgrade projects. As such, the following
# block of code will only be executed if the `PACKAGE_GIT_BRANCH` is set to "os-upgrade". Not
# all product repositories are required to have an "os-upgrade" branch, because some packages
# will successfully build on the new Ubuntu version as well as the old without any changes.
# To allow engineering to create the "os-upgrade" branch only in repositories that require
# changes for the new Ubuntu version, this block of code will check if the "os-upgrade" branch
# exists in the repository and if it does not, it will build off of "develop" instead.
#
if [[ "$PACKAGE_GIT_BRANCH" == "os-upgrade" ]]; then
git_branch_exists "$PACKAGE_GIT_URL" "$PACKAGE_GIT_BRANCH"
branch_exists=$?
if [[ $branch_exists -ne 0 ]]; then
echo "NOTE: The branch 'os-upgrade' does not exist for this repo. Using 'develop' instead."
PACKAGE_GIT_BRANCH="develop"
fi
fi

logmust git_fetch_helper "$PACKAGE_GIT_URL" --no-tags \
"+$PACKAGE_GIT_BRANCH:repo-HEAD" --depth=1
logmust git show-ref repo-HEAD
Expand Down

0 comments on commit f37b478

Please sign in to comment.