class Overcommit::Hook::PreCommit::Hadolint

Runs ‘hadolint` against any modified Dockefile files.

@see hadolint.lukasmartinelli.ch/

Public Instance Methods

run() click to toggle source
# File lib/overcommit/hook/pre_commit/hadolint.rb, line 8
def run
  output = ''
  success = true

  # hadolint doesn't accept multiple arguments
  applicable_files.each do |dockerfile|
    result = execute(command, args: Array(dockerfile))
    output += result.stdout
    success &&= result.success?
  end

  return :pass if success

  extract_messages(
    output.split("\n"),
    /^(?<file>[^:]+):(?<line>\d+)/,
  )
end