#!/bin/bash # vim: ai:ts=8:sw=8:noet set -EeufCo pipefail export SHELLOPTS # propagate set to children by default IFS=$'\t\n' # check required commands are in place command -v shellcheck >/dev/null 2>&1 || { echo 'please install shellcheck' exit 1 } command -v hadolint >/dev/null 2>&1 || { echo 'please install hadolint' exit 1 } command -v yamllint >/dev/null 2>&1 || { echo 'please install yamllint' exit 1 } # check all the Dockerfiles with hadolint find . \ -type f \ -name 'Dockerfile' \ -print0 | xargs -0 -r hadolint # check all the yaml files with yamllint find . -type f \ -regex '.*\.ya?ml\(lint\)?' \ -print0 | xargs -0 -r yamllint -s # check all sh files with shellcheck find . \ -type f \ -name '*.sh' \ -print0 | xargs -0 -r shellcheck