Open pantelis-karamolegkos opened 1 year ago
Could it be the reason that there is no Dockerfile
in the root of the project?
Same issue here
my .pre-commit.yaml
file
repos:
- repo: https://github.com/hadolint/hadolint
rev: v2.12.0
hooks:
- id: hadolint-docker
output
Lint Dockerfiles.........................................................Failed
- hook id: hadolint-docker
- exit code: 1
hadolint: Dockerfile.template: withBinaryFile: does not exist (No such file or directory)
hadolint: latest/Dockerfile.tws: withBinaryFile: does not exist (No such file or directory)
The files stated on the output are there, and the linter can find them. however it fails.
If I change my pre-commit config file to
repos:
- repo: https://github.com/hadolint/hadolint
rev: v2.12.0
hooks:
- id: hadolint
it works fine
I've seen this when there is no Dockerfile in the repo in any directory or subdirectory. This usually happens when the repo is fresh (no Dockerfile yet) or if the Dockerfiles were deleted in the commit. The first one is quite obvious, but the second one means that github action is executed when the files were deleted and actually step should be skipped.
So this Github Action should be patched to support this, I do not have solution for it.
Yet if anyone is interested I can provide custom GitHub workflow that handles the case (skip action if no Dockerfiles are changed or are deleted). If someone is interested I can get it next week. With proper github action workflow in the script it would probably take a bit more time, but is also doable.
I have the following
Dockerfile
This fails the lint with:
The
Dockerfile
works as expected though