hadolint 1.6.3 → 1.6.4
raw patch · 3 files changed
+12/−7 lines, 3 files
Files
- hadolint.cabal +2/−2
- src/Hadolint/Formatter/Checkstyle.hs +3/−1
- src/Hadolint/Rules.hs +7/−4
hadolint.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: c21bd56e27b146d3a8ede82b69ed4a592a00e364a49e159607b05fc414cb1609+-- hash: f7ed30bdbbcff79f1034336129985743db40eb1859e0c84f7567b0978c70e535 name: hadolint-version: 1.6.3+version: 1.6.4 synopsis: Dockerfile Linter JavaScript API description: A smarter Dockerfile linter that helps you build best practice Docker images. category: Development
src/Hadolint/Formatter/Checkstyle.hs view
@@ -64,7 +64,9 @@ attr "message" msg <> attr "source" source <> "/>"- fileName = file (head checks)+ fileName = case checks of+ [] -> ""+ h:_ -> file h attr name value = Builder.string8 name <> "='" <> Builder.string8 (escape value) <> "' "
src/Hadolint/Rules.hs view
@@ -87,7 +87,8 @@ rule dockerfile = [RuleCheck metadata (filename dockerfile) (-1) (f (map instruction dockerfile))] metadata = Metadata code severity message- filename dockerfile = sourcename $ head dockerfile+ filename (inst:_) = sourcename inst+ filename [] = "" -- Enforce rules on a dockerfile and return failed checks analyze :: [Rule] -> Dockerfile -> [RuleCheck]@@ -216,7 +217,9 @@ code = "DL3000" severity = ErrorC message = "Use absolute WORKDIR"- check (Workdir dir) = head dir == '$' || head dir == '/'+ check (Workdir ('$':_)) = True+ check (Workdir ('/':_)) = True+ check (Workdir _) = False check _ = True hasNoMaintainer = dockerfileRule code severity message check@@ -229,7 +232,7 @@ isMaintainer _ = False -- Check if a command contains a program call in the Run instruction-usingProgram prog args = or [head cmds == prog | cmds <- bashCommands args]+usingProgram prog args = or [True | cmd:_ <- bashCommands args, cmd == prog] multipleCmds = dockerfileRule code severity message check where@@ -271,7 +274,7 @@ message = "For some bash commands it makes no sense running them in a Docker container like `ssh`, \ \`vim`, `shutdown`, `service`, `ps`, `free`, `top`, `kill`, `mount`, `ifconfig`"- check (Run (Arguments args)) = head args `notElem` invalidCmds+ check (Run (Arguments (arg:_))) = arg `notElem` invalidCmds check _ = True invalidCmds = ["ssh", "vim", "shutdown", "service", "ps", "free", "top", "kill", "mount"]