GHA: remove GITHUB_WORKSPACE when workflow fails due to merge conflict

It is to remove a GITHUB_WORKSPACE directory for self-hosted runners
when a workflow fails due to the merge conflict. This will prevent
the subsequent workflows from getting stuck in the same situation.

Fixes: #8600

Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
This commit is contained in:
Hyounggyu Choi
2023-12-07 09:38:05 +01:00
parent c14e3096c8
commit 0d5a970e54

View File

@@ -21,7 +21,18 @@ function rebase_atop_of_the_latest_target_branch() {
echo "Rebasing atop of the latest ${TARGET_BRANCH}" echo "Rebasing atop of the latest ${TARGET_BRANCH}"
# Recover from any previous rebase left halfway # Recover from any previous rebase left halfway
git rebase --abort 2> /dev/null || true git rebase --abort 2> /dev/null || true
git rebase origin/${TARGET_BRANCH} if ! git rebase origin/${TARGET_BRANCH}; then
# if GITHUB_WORKSPACE is defined and an architecture is not equal to x86_64
# (mostly self-hosted runners), then remove the repository
if [ -n "${GITHUB_WORKSPACE}" ] && [ "$(uname -m)" != "x86_64" ]; then
echo "Rebase failed, cleaning up a repository for self-hosted runners and exiting"
cd "${GITHUB_WORKSPACE}"/..
sudo rm -rf "${GITHUB_WORKSPACE}"
else
echo "Rebase failed, exiting"
fi
exit 1
fi
fi fi
} }