aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-23 06:06:55 -0600
committerCraig Jennings <c@cjennings.net>2026-02-23 06:06:55 -0600
commit2ef27b6a5d190c4d38eb4d13a039e10c006d7c7b (patch)
tree00cc8eccd698785d53fe4541b334f3aa71651d5b /scripts
parent1268a283526ca4b1d11d391ede944f055b4abafd (diff)
downloadarchangel-2ef27b6a5d190c4d38eb4d13a039e10c006d7c7b.tar.gz
archangel-2ef27b6a5d190c4d38eb4d13a039e10c006d7c7b.zip
chore: add set -euo pipefail to scripts for safety
Enable undefined variable checking (set -u) and pipefail across standalone scripts. Guard SUDO_USER references with ${SUDO_USER:-} for set -u compatibility.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build-release6
-rwxr-xr-xscripts/full-test.sh2
-rwxr-xr-xscripts/test-install.sh2
-rwxr-xr-xscripts/test-vm.sh2
4 files changed, 6 insertions, 6 deletions
diff --git a/scripts/build-release b/scripts/build-release
index 2fbf004..9c6614e 100755
--- a/scripts/build-release
+++ b/scripts/build-release
@@ -12,13 +12,13 @@
# - $ARCHSETUP_INBOX (notification for test VM rebuild, if set)
# - $DIST_REMOTE_HOST:$DIST_REMOTE_PATH (if set and reachable)
-set -e
+set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
# Get actual user (not root when running with sudo)
-if [[ -n "$SUDO_USER" ]]; then
+if [[ -n "${SUDO_USER:-}" ]]; then
REAL_USER="$SUDO_USER"
REAL_HOME=$(getent passwd "$SUDO_USER" | cut -d: -f6)
else
@@ -140,7 +140,7 @@ distribute_remote() {
# Run SCP as the real user (not root) to use their SSH keys
local scp_cmd="scp"
- if [[ -n "$SUDO_USER" ]]; then
+ if [[ -n "${SUDO_USER:-}" ]]; then
scp_cmd="sudo -u $SUDO_USER scp"
fi
diff --git a/scripts/full-test.sh b/scripts/full-test.sh
index 7728859..e500116 100755
--- a/scripts/full-test.sh
+++ b/scripts/full-test.sh
@@ -22,7 +22,7 @@
# 1 - One or more tests failed
# 2 - Setup/infrastructure error
-set -e
+set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
diff --git a/scripts/test-install.sh b/scripts/test-install.sh
index 4f9f0d8..0314bf2 100755
--- a/scripts/test-install.sh
+++ b/scripts/test-install.sh
@@ -9,7 +9,7 @@
# ./test-install.sh single-disk # Run specific config
# ./test-install.sh --list # List available configs
-set -e
+set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
export PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
diff --git a/scripts/test-vm.sh b/scripts/test-vm.sh
index 2f93bd2..66dba37 100755
--- a/scripts/test-vm.sh
+++ b/scripts/test-vm.sh
@@ -7,7 +7,7 @@
# ./test-vm.sh --boot-disk # Boot from existing virtual disk (after install)
# ./test-vm.sh --clean # Remove VM disks and start fresh
-set -e
+set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"