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

View file

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# The problem-matcher definition must be present in the repository
# 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}"
done
# shellcheck disable=SC2086
hadolint $HADOLINT_IGNORE_CMDLINE $HADOLINT_CONFIG "$@"
if [ "$HADOLINT_RECURSIVE" = "true" ]; then
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