From fac05b182cd3e19199014e35fd5387a32d98d11e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 21 Mar 2023 01:00:07 +0100 Subject: [PATCH] ci: Make sure to always clear meson-install checkout dir We currently remove the directory at the end of the script, but that code is only reached when all previous operations were successful. Address this by first using an absolute directory path in /tmp instead of a "random" location based on the CWD, then set a trap to remove it on exit. Part-of: --- .gitlab-ci/install-meson-project.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci/install-meson-project.sh b/.gitlab-ci/install-meson-project.sh index df188673c..fbb62b9d0 100755 --- a/.gitlab-ci/install-meson-project.sh +++ b/.gitlab-ci/install-meson-project.sh @@ -31,14 +31,13 @@ COMMIT="$2" SUBDIR="$3" PREPARE="$4" -REPO_DIR="$(basename ${REPO_URL%.git})" +CHECKOUT_DIR=$(mktemp --directory) +trap "rm -rf $CHECKOUT_DIR" EXIT -git clone --depth 1 "$REPO_URL" -b "$COMMIT" -pushd "$REPO_DIR" -pushd "$SUBDIR" +git clone --depth 1 "$REPO_URL" -b "$COMMIT" "$CHECKOUT_DIR" + +pushd "$CHECKOUT_DIR/$SUBDIR" sh -c "$PREPARE" meson setup --prefix=/usr _build "${MESON_OPTIONS[@]}" meson install -C _build popd -popd -rm -rf "$REPO_DIR"