Add recursive linting

This commit is contained in:
Itamar Givon 2021-05-31 13:57:42 +02:00
parent 1fe9ddfd12
commit 34545a185d
2 changed files with 17 additions and 3 deletions

View file

@ -6,6 +6,10 @@ inputs:
required: false required: false
description: 'The path to the Dockerfile to lint' description: 'The path to the Dockerfile to lint'
default: 'Dockerfile' default: 'Dockerfile'
recursive:
required: false
description: 'Search for lint dockerfiles recuresivly'
default: 'false'
format: format:
required: false required: false
description: | description: |
@ -39,6 +43,7 @@ runs:
env: env:
HADOLINT_CONFIG: ${{ inputs.config }} HADOLINT_CONFIG: ${{ inputs.config }}
HADOLINT_IGNORE: ${{ inputs.ignore }} HADOLINT_IGNORE: ${{ inputs.ignore }}
HADOLINT_RECURSIVE: ${{ inputs.recursive }}
branding: branding:
icon: 'layers' icon: 'layers'
color: 'purple' color: 'purple'

View file

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/bash
# The problem-matcher definition must be present in the repository # The problem-matcher definition must be present in the repository
# checkout (outside the Docker container running hadolint). We create # checkout (outside the Docker container running hadolint). We create
@ -27,5 +27,14 @@ for i in $HADOLINT_IGNORE; do
HADOLINT_IGNORE_CMDLINE="${HADOLINT_IGNORE_CMDLINE} --ignore=${i}" HADOLINT_IGNORE_CMDLINE="${HADOLINT_IGNORE_CMDLINE} --ignore=${i}"
done done
# shellcheck disable=SC2086 if [ "$HADOLINT_RECURSIVE" = "true" ]; then
hadolint $HADOLINT_IGNORE_CMDLINE $HADOLINT_CONFIG "$@" shopt -s globstar
filename="${!#}"
flags="${@:1:$#-1}"
hadolint $HADOLINT_IGNORE_CMDLINE $HADOLINT_CONFIG $flags **/$filename
else
# shellcheck disable=SC2086
hadolint $HADOLINT_IGNORE_CMDLINE $HADOLINT_CONFIG "$@"
fi