diff --git a/scripts/avoid-release-loop.sh b/scripts/avoid-release-loop.sh new file mode 100755 index 000000000..a368c6537 --- /dev/null +++ b/scripts/avoid-release-loop.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -e +set -x + +GIT_RELEASE_BOT_NAME=${GIT_RELEASE_BOT_NAME:?GIT_RELEASE_BOT_NAME must be provided} +GITHUB_SHA=${GITHUB_SHA:?GITHUB_SHA must be provided} + +# avoid the release loop by checking if the latest commit is a release commit +readonly local last_release_commit_hash=$(git log --pretty=format:"%H" -1) +echo "Last $GIT_RELEASE_BOT_NAME commit: ${last_release_commit_hash}" +echo "Current commit: ${GITHUB_SHA}" +if [[ "${last_release_commit_hash}" = "${GITHUB_SHA}" ]]; then + echo "Skipping for $GIT_RELEASE_BOT_NAME commit" + exit 1 +fi