diff --git a/bin/build-driver.sh b/bin/build-driver.sh
index d943d2979dabefec69ed7e2401bafdbe99e92faf..fb82bcdb9b24637032b3f46d95c7c98f5cd50e17 100755
--- a/bin/build-driver.sh
+++ b/bin/build-driver.sh
@@ -1,6 +1,6 @@
 #! /usr/bin/env bash
 
-set -eu
+set -euo pipefail
 
 project_root=`pwd`
 
diff --git a/bin/build-drivers.sh b/bin/build-drivers.sh
index f6a00f411b8cdcfa07cf928761213b049b82d397..f8e7b271952da579f60ca8ce0bb91d4e53232d5f 100755
--- a/bin/build-drivers.sh
+++ b/bin/build-drivers.sh
@@ -1,6 +1,6 @@
 #! /usr/bin/env bash
 
-set -e
+set -eo pipefail
 
 # If ran as `./bin/build-drivers.sh clean` then uninstall metabase-core from the local Maven repo and delete
 if [ "$1" == clean ]; then
@@ -22,4 +22,9 @@ fi
 for driver in `ls modules/drivers/ | sed 's|/$||'`; do # strip trailing slashes if `ls` is set to include them
     echo "Build: $driver"
     ./bin/build-driver.sh "$driver"
+
+    if [ $? -ne 0 ]; then
+        echo "Failed to build driver $driver."
+        exit -1
+    fi
 done