diff --git a/Jenkinsfile b/Jenkinsfile index 52fba9c..7b8202a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -6,6 +6,17 @@ pipeline { } triggers { cron(env.BRANCH_NAME ==~ /^main$/ ? 'H H(0-6) 1 * *' : '') } stages { + stage('Quality Checks') { + agent { label 'my127ws' } + steps { + sh './quality.sh' + } + post { + always { + cleanWs() + } + } + } stage('Matrix') { matrix { axes { diff --git a/quality.sh b/quality.sh new file mode 100755 index 0000000..125599e --- /dev/null +++ b/quality.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e -o pipefail + +if ! docker image ls -a --format '{{ print .Repository ":" .Tag }}' | grep -q koalaman/shellcheck-alpine:stable; then + docker pull koalaman/shellcheck-alpine:stable +fi + +run_shellcheck() +{ + docker run --rm --volume "$(pwd):/app" koalaman/shellcheck-alpine:stable /bin/sh -c 'find /app -type f ! -path "*/.git/*" ! -name "*.orig" -and \( -name "*.sh" -or -perm -0111 \) -print -exec shellcheck --exclude SC1008,SC1091 {} +' +} +run_shellcheck diff --git a/test.extensions.sh b/test.extensions.sh index 375c303..75bb99e 100755 --- a/test.extensions.sh +++ b/test.extensions.sh @@ -55,5 +55,5 @@ for extension in extensions/*; do done after="$(php -m)$(php -v)" -echo "After: $after\nDiff:" +printf "After: %s\nDiff:" "$after" diff -u <(echo "$before") <(echo "$after") || true