github-ci: error on any shell errors
authorAlois Klink <alois@aloisklink.com>
Wed, 23 Nov 2022 18:37:01 +0000 (18:37 +0000)
committerJosef Schlehofer <pepe.schlehofer@gmail.com>
Thu, 8 Dec 2022 09:56:11 +0000 (10:56 +0100)
Enable `errexit` and `nounset` [POSIX shell options][1]
in `.github/workflows/entrypoint.sh` so that the script fails
if any command within the script fails.

[1]: https://pubs.opengroup.org/onlinepubs/9699919799//utilities/V3_chap02.html#set

Reported-by: Marius Dinu <m95d+git@psihoexpert.ro>
Fixes: https://github.com/openwrt/packages/issues/19953
Signed-off-by: Alois Klink <alois@aloisklink.com>
(cherry picked from commit 18d3c529fa4ab8dafcf6c147cf3cb55792d8ca10)

.github/workflows/entrypoint.sh

index 76041054736c8ed1ab14fe5781622681d3a8730b..6af84b8e7ee6d30dd1bb017fe9d8d9ccd5f960e9 100755 (executable)
@@ -1,10 +1,14 @@
 #!/bin/sh
 
+# not enabling `errtrace` and `pipefail` since those are bash specific
+set -o errexit # failing commands causes script to fail
+set -o nounset # undefined variables causes script to fail 
+
 mkdir -p /var/lock/
 
 opkg update
 
-[ -n "$CI_HELPER" ] || CI_HELPER="/ci/.github/workflows/ci_helpers.sh"
+[ -n "${CI_HELPER:=''}" ] || CI_HELPER="/ci/.github/workflows/ci_helpers.sh"
 
 for PKG in /ci/*.ipk; do
        tar -xzOf "$PKG" ./control.tar.gz | tar xzf - ./control