From b3a5745f0f7eedd2202bf1486872495f598d79f3 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Thu, 15 Dec 2022 14:11:17 +0000 Subject: [PATCH] ci: Fix release publish script --- scripts/lib.sh | 9 +++++++++ scripts/release/check_commit_metadata.sh | 2 +- scripts/release/generate_release_notes.sh | 2 +- scripts/release/publish.sh | 4 ++-- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/lib.sh b/scripts/lib.sh index ea00c7b7cbdf3..4e7e7053429d2 100644 --- a/scripts/lib.sh +++ b/scripts/lib.sh @@ -6,6 +6,15 @@ set -euo pipefail +# Avoid sourcing this script multiple times to guard against when lib.sh +# is used by another sourced script, it can lead to confusing results. +if [[ ${SCRIPTS_LIB_IS_SOURCED:-0} == 1 ]]; then + return +fi +# Do not export to avoid this value being inherited by non-sourced +# scripts. +SCRIPTS_LIB_IS_SOURCED=1 + # realpath returns an absolute path to the given relative path. It will fail if # the parent directory of the path does not exist. Make sure you are in the # expected directory before running this to avoid errors. diff --git a/scripts/release/check_commit_metadata.sh b/scripts/release/check_commit_metadata.sh index 94704e5b3f6e7..c3768d19a4853 100755 --- a/scripts/release/check_commit_metadata.sh +++ b/scripts/release/check_commit_metadata.sh @@ -14,7 +14,7 @@ set -euo pipefail # shellcheck source=scripts/lib.sh -source "$(dirname "${BASH_SOURCE[0]}")/../lib.sh" +source "$(dirname "$(dirname "${BASH_SOURCE[0]}")")/lib.sh" from_ref=${1:-} to_ref=${2:-} diff --git a/scripts/release/generate_release_notes.sh b/scripts/release/generate_release_notes.sh index a966c3f768d1e..0dd7c28a9194d 100755 --- a/scripts/release/generate_release_notes.sh +++ b/scripts/release/generate_release_notes.sh @@ -13,7 +13,7 @@ set -euo pipefail # shellcheck source=scripts/lib.sh -source "$(dirname "${BASH_SOURCE[0]}")/../lib.sh" +source "$(dirname "$(dirname "${BASH_SOURCE[0]}")")/lib.sh" old_version= new_version= diff --git a/scripts/release/publish.sh b/scripts/release/publish.sh index 1ae4a7ba8ecb1..8b592212bf3f6 100755 --- a/scripts/release/publish.sh +++ b/scripts/release/publish.sh @@ -27,7 +27,7 @@ set -euo pipefail # shellcheck source=scripts/lib.sh -source "$(dirname "${BASH_SOURCE[0]}")/../lib.sh" +source "$(dirname "$(dirname "${BASH_SOURCE[0]}")")/lib.sh" if [[ "${CI:-}" == "" ]]; then error "This script must be run in CI" @@ -110,7 +110,7 @@ fi source "$SCRIPT_DIR/release/check_commit_metadata.sh" "$old_tag" "$new_ref" # Craft the release notes. -release_notes="$(execrelative ./generate_release_notes.sh --old-version "$old_tag" --new-version "$new_tag" --ref "$new_ref")" +release_notes="$(execrelative ./release/generate_release_notes.sh --old-version "$old_tag" --new-version "$new_tag" --ref "$new_ref")" release_notes_file="$(mktemp)" echo "$release_notes" >"$release_notes_file"