From f0b47d02c8a6634f00961136c2d18db4cd4c8f81 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Wed, 6 Mar 2024 18:57:36 +0100 Subject: [PATCH] Check whether or not jenkins folder exists in backport branches (#9280) Add safeguards when running backport branches pipeline, to avoid errors if ".ci" (jenkins folder) does not exist or if there are no changes in the stage. --- .buildkite/scripts/backport_branch.sh | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/.buildkite/scripts/backport_branch.sh b/.buildkite/scripts/backport_branch.sh index 4481c1cd325..20fd31c3d2c 100755 --- a/.buildkite/scripts/backport_branch.sh +++ b/.buildkite/scripts/backport_branch.sh @@ -84,6 +84,7 @@ removeOtherPackages() { updateBackportBranchContents() { local BUILDKITE_FOLDER_PATH=".buildkite" local JENKINS_FOLDER_PATH=".ci" + local files_cached_num="" if git ls-tree -d --name-only main:.ci >/dev/null 2>&1; then git checkout $BACKPORT_BRANCH_NAME echo "Copying $BUILDKITE_FOLDER_PATH from $SOURCE_BRANCH..." @@ -108,15 +109,26 @@ updateBackportBranchContents() { git config --global user.name "${GITHUB_USERNAME_SECRET}" git config --global user.email "${GITHUB_EMAIL_SECRET}" + echo "Commiting" + git add $BUILDKITE_FOLDER_PATH + if [ -d "${JENKINS_FOLDER_PATH}" ]; then + git add $JENKINS_FOLDER_PATH + fi + git add $PACKAGES_FOLDER_PATH/ + git status + + files_cached_num=$(git diff --name-only --cached | wc -l) + if [ "${files_cached_num}" -gt 0 ]; then + git commit -m "Add $BUILDKITE_FOLDER_PATH and $JENKINS_FOLDER_PATH to backport branch: $BACKPORT_BRANCH_NAME from the $SOURCE_BRANCH branch" + else + echo "Nothing to commit, skip." + fi + if [ "$DRY_RUN" == "true" ];then echo "DRY_RUN mode, nothing will be pushed." git diff $SOURCE_BRANCH...$BACKPORT_BRANCH_NAME else - echo "Commiting and pushing..." - git add $BUILDKITE_FOLDER_PATH - git add $JENKINS_FOLDER_PATH - git add $PACKAGES_FOLDER_PATH/ - git commit -m "Add $BUILDKITE_FOLDER_PATH and $JENKINS_FOLDER_PATH to backport branch: $BACKPORT_BRANCH_NAME from the $SOURCE_BRANCH branch" + echo "Pushing..." git push origin $BACKPORT_BRANCH_NAME fi } @@ -172,4 +184,7 @@ MSG="The backport branch: **$BACKPORT_BRANCH_NAME** has been created." echo "Adding CI files into the branch ${BACKPORT_BRANCH_NAME}" updateBackportBranchContents +if [ "${DRY_RUN}" == "true" ]; then + MSG="[DRY_RUN] ${MSG}." +fi buildkite-agent annotate "$MSG" --style "success"