diff --git a/files/enketo/generate-secrets.sh b/files/enketo/generate-secrets.sh index 76c3f245..d0797220 100755 --- a/files/enketo/generate-secrets.sh +++ b/files/enketo/generate-secrets.sh @@ -11,4 +11,3 @@ fi if [ ! -f /etc/secrets/enketo-api-key ]; then LC_ALL=C tr -dc '[:alnum:]' < /dev/urandom | head -c128 > /etc/secrets/enketo-api-key fi - diff --git a/files/prebuild/write-version.sh b/files/prebuild/write-version.sh index 903cdb0c..16f48fe0 100755 --- a/files/prebuild/write-version.sh +++ b/files/prebuild/write-version.sh @@ -1,4 +1,3 @@ #!/bin/sh { echo "versions:"; echo "$(git rev-parse HEAD) ($(git describe --tags))"; git submodule; } > /tmp/version.txt - diff --git a/files/service/scripts/process-backlog.sh b/files/service/scripts/process-backlog.sh index 81d2897c..0bcb0278 100755 --- a/files/service/scripts/process-backlog.sh +++ b/files/service/scripts/process-backlog.sh @@ -2,4 +2,3 @@ cd /usr/odk /usr/local/bin/node lib/bin/process-backlog.js >/proc/1/fd/1 2>/proc/1/fd/2 - diff --git a/files/service/scripts/purge.sh b/files/service/scripts/purge.sh index bb3a0535..8e4bebab 100755 --- a/files/service/scripts/purge.sh +++ b/files/service/scripts/purge.sh @@ -2,4 +2,3 @@ cd /usr/odk /usr/local/bin/node lib/bin/purge.js >/proc/1/fd/1 2>/proc/1/fd/2 - diff --git a/files/service/scripts/reap-sessions.sh b/files/service/scripts/reap-sessions.sh index d9f76b67..8cb1e328 100644 --- a/files/service/scripts/reap-sessions.sh +++ b/files/service/scripts/reap-sessions.sh @@ -2,4 +2,3 @@ cd /usr/odk /usr/local/bin/node lib/bin/reap-sessions.js >/proc/1/fd/1 2>/proc/1/fd/2 - diff --git a/files/service/scripts/run-analytics.sh b/files/service/scripts/run-analytics.sh index 681ba343..44ce9b59 100755 --- a/files/service/scripts/run-analytics.sh +++ b/files/service/scripts/run-analytics.sh @@ -2,4 +2,3 @@ cd /usr/odk /usr/local/bin/node lib/bin/run-analytics.js >/proc/1/fd/1 2>/proc/1/fd/2 - diff --git a/files/service/scripts/start-odk.sh b/files/service/scripts/start-odk.sh index 75dd0c1c..d6cb2177 100755 --- a/files/service/scripts/start-odk.sh +++ b/files/service/scripts/start-odk.sh @@ -77,4 +77,3 @@ echo "using $WORKER_COUNT worker(s) based on available memory ($MEMTOT).." echo "starting server." exec npx pm2-runtime ./pm2.config.js - diff --git a/test/check-scripts.sh b/test/check-scripts.sh index ec380ec4..e5ef5165 100755 --- a/test/check-scripts.sh +++ b/test/check-scripts.sh @@ -6,6 +6,37 @@ log() { echo >&2 "[$(basename "$0")] $*"; } scriptFiles="$(cat <(git grep -El '^#!.*sh\b') <(git ls-files | grep -E '.sh$') | sort -u)" +for script in $scriptFiles; do + log "Checking $script ..." + + log " Checking trailing whitespace on lines..." + if grep -E '\s+$' "$script"; then + log " !!! Whitespace found at end of line !!!" + exit 1 + fi + log " Passed OK." + + log " Checking trailing newline in files..." + if [[ -n "$(tail -c 1 < "$script")" ]]; then + log " !!! Missing final newline !!!" + exit 1 + fi + if [[ -z "$(tail -c 2 < "$script")" ]]; then + log " !!! Blank lines at end of file !!!" + exit 1 + fi + log " Passed OK." + + log " Checking for tab-based indentation..." + if grep $'\t' "$script"; then + log " !!! Tab(s) found." + log " !!!" + log " !!! Please use spaces for indentation." + exit 1 + fi + log " Passed OK." +done + log "Running shellcheck..." echo "$scriptFiles" | xargs \ shellcheck \ diff --git a/test/nginx/run-tests.sh b/test/nginx/run-tests.sh index 0c09276f..7f1e41cf 100755 --- a/test/nginx/run-tests.sh +++ b/test/nginx/run-tests.sh @@ -23,7 +23,7 @@ wait_for_http_response() { printf >&2 '❌\n' log "!!! URL timed out: $url" exit 1 - fi + fi } log "Starting test services..."