--- stages: - puppet puppet-lint: tags: [puppet] stage: puppet image: ananace/puppetlint:latest-checks script: - puppet-lint --no-documentation-check --with-filename --config .puppet-lint.rc --log-format '%{path}:%{line}:%{check}:%{KIND}:%{message}' manifests puppet-parser: tags: [puppet] stage: puppet image: ananace/puppetlint:latest script: - puppet parser validate --strict_variables --render-as s --modulepath="$(pwd)/.." manifests - find templates -type f -name '*.epp' -print0 | xargs -0r puppet epp validate --render-as s # TODO: Remove --no-strict-license once a license is in place - metadata-json-lint --no-strict-license metadata.json ruby: tags: [puppet] stage: puppet image: ruby:alpine script: - "[ -d lib ] && find lib -type f -name '*.rb' -print0 | xargs -0rn1 sh -c 'printf \"$0: \"; cat $0 | ruby -c 2>&1'" - "[ -d templates ] && find templates -type f -name '*.erb' -print0 | xargs -0rn1 sh -c 'printf \"$0: \"; erb -PxT \"-\" \"$0\" | ruby -c 2>&1'"