engine: Enable shellcheck 62/3062/1
authorFatih Degirmenci <fdegir@gmail.com>
Wed, 4 Dec 2019 09:59:44 +0000 (10:59 +0100)
committerFatih Degirmenci <fdegir@gmail.com>
Wed, 4 Dec 2019 09:59:44 +0000 (10:59 +0100)
Change-Id: I675c46943022b5656d1347855a97c3334e2213eb

jjb/cloud-infra/scripts/cloud-infra-shellcheck.sh

index db8fba239bb47e95d2a5d76f35bd7c67aa0e452b..1144f14a9ebc943b1178d50385bcf434a1e561d2 100644 (file)
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
 
-set -o errexit
-set -o nounset
-set -o pipefail
+# install dependencies
+sudo apt update > /dev/null 2>&1
+sudo apt install -y -q=3 shellcheck > /dev/null 2>&1
 
 cd $WORKSPACE
-echo "Hello, World!"
+echo "Info: Run shellcheck on bash scripts"
+echo "----------------------------------------------------"
+
+# set exit_code so we exit ourselves rather than shellcheck bailing out without
+# verifying all the bash scripts
+declare -i exit_code=0
+
+# lint the bash scripts
+for shell_script in $(find ${WORKSPACE}/ -type f -name *.sh); do
+  echo "--> Checking '${shell_script}' shell script..."
+  shellcheck --color=never ${shell_script}
+  lint_exit_code=$?
+  if [[ $lint_exit_code != 0 ]]; then
+    exit_code=$lint_exit_code
+  else
+    echo [OK]
+  fi
+  echo
+done
+echo "----------------------------------------------------"
+echo "Info: Done"
+exit $exit_code
 
 # vim: set ts=2 sw=2 expandtab: