From c7ac4208afc9f4c0c7e100d627fef7d47d0b885b Mon Sep 17 00:00:00 2001 From: Coelacanthus Date: Mon, 25 Oct 2021 18:22:20 +0800 Subject: refactor(script): add fast-fail and clean-up (#5) Signed-off-by: Coelacanthus --- ci-upload.sh | 13 +++++++++++-- deploy.sh | 4 ++++ pkgbuild.sh | 35 ++++++++++++++++++++++------------- repodb.sh | 22 +++++++++++++++------- 4 files changed, 52 insertions(+), 22 deletions(-) diff --git a/ci-upload.sh b/ci-upload.sh index 9d2cff9..74c148a 100755 --- a/ci-upload.sh +++ b/ci-upload.sh @@ -1,5 +1,16 @@ #!/bin/bash +# end up when failed +set -Eeuo pipefail + +# clean up when exit +trap cleanup SIGINT SIGTERM ERR EXIT +cleanup() { + trap - SIGINT SIGTERM ERR EXIT + unset ARCH + unset PKGDEST +} + ARCH=$(uname -m) PKGDEST="${PWD}/packages/$ARCH" @@ -15,5 +26,3 @@ popd curl -d "token=$UPLOAD_TOKEN&action=UPLOADED" -fsSL "$REMOTE_PATH" -unset ARCH -unset PKGDEST diff --git a/deploy.sh b/deploy.sh index b6d5224..691ad2e 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,4 +1,8 @@ #!/bin/bash + +# end up when failed +set -Eeuo pipefail + if [ $# -eq 0 ]; then echo 'Should provide least one argument' exit 1 diff --git a/pkgbuild.sh b/pkgbuild.sh index ae14b4e..1b44d8b 100755 --- a/pkgbuild.sh +++ b/pkgbuild.sh @@ -1,5 +1,27 @@ #!/bin/bash +# end up when failed +set -Eeuo pipefail + +# clean up when exit +trap cleanup SIGINT SIGTERM ERR EXIT +cleanup() { + trap - SIGINT SIGTERM ERR EXIT + unset PACKAGE_NAME + unset PKGDEST + unset SRCDEST + unset CONFDEST + unset REPO_DEST + rm -f "$TMPCONF" + rm -rf "$REPO_PENDING" + rm -rf "$REPO_DIFF" + unset TMPCONF + unset REPO_PENDING + unset REPO_DIFF + unset PKGBUILD_DIRECTORY_BASE + unset ARCH +} + ARCH=$(uname -m) PKGBUILD_DIRECTORY_BASE="repo" PKGDEST="${PWD}/packages/$ARCH" @@ -8,7 +30,6 @@ CONFDEST="${PWD}/makepkg.d/makepkg.$ARCH.conf" REPO_PENDING="${PWD}/packages/$ARCH/PENDING" REPO_DIFF="${PWD}/packages/$ARCH/DIFF" -trap 'rm -f "$TMPCONF"' EXIT TMPCONF=$(mktemp -t makepkg.$ARCH.conf.XXXXXXXXXX) || exit 1 cat "${PWD}/makepkg.d/makepkg.base.conf" > "$TMPCONF" cat "$CONFDEST" >> "$TMPCONF" @@ -61,15 +82,3 @@ fi date +%s > "$PKGDEST/LASTBUILD" -unset PACKAGE_NAME -unset PKGDEST -unset SRCDEST -unset CONFDEST -unset REPO_DEST -rm -rf "$REPO_PENDING" -rm -rf "$REPO_DIFF" -unset REPO_PENDING -unset REPO_DIFF -unset PKGBUILD_DIRECTORY_BASE -unset ARCH -unset REPO_BASE_NAME diff --git a/repodb.sh b/repodb.sh index 7ac8533..659cbe4 100755 --- a/repodb.sh +++ b/repodb.sh @@ -1,5 +1,20 @@ #!/bin/bash +# end up when failed +set -Eeuo pipefail + +# clean up when exit +trap cleanup SIGINT SIGTERM ERR EXIT +cleanup() { + trap - SIGINT SIGTERM ERR EXIT + unset ARCH + unset PKGDEST + unset REPO_DEST + unset GPG_KEY + unset PACKAGE_NAME + unset LATEST +} + REPO_BASE_NAME="kunoisayami" ARCH=$(uname -m) PKGDEST="${PWD}/packages/$ARCH" @@ -13,10 +28,3 @@ while read PACKAGE_NAME; do fi repo-add "$REPO_DEST" "$PACKAGENAME" -s -v -R -k $GPG_KEY done - -unset ARCH -unset PKGDEST -unset REPO_DEST -unset GPG_KEY -unset PACKAGE_NAME -unset LATEST \ No newline at end of file -- cgit v1.3.1