Fix of ShellCheck. Doc update. Int testing updates. Added ShellCheck job.
6 KiB
Hadolint Action
GitHub Action that runs Hadolint Dockerfile linting tool.
Usage
Add the following step to your workflow configuration:
steps:
- uses: actions/checkout@v3
- uses: hadolint/hadolint-action@v3.1.0
with:
dockerfile: Dockerfile
Inputs
Name | Description | Default |
---|---|---|
dockerfile |
The path to the Dockerfile to be tested | ./Dockerfile |
recursive |
Search for specified dockerfile recursively, from the project root |
false |
config |
Custom path to a Hadolint config file | ./.hadolint.yaml |
output-file |
A sub-path where to save the output as a file to |
/dev/stdout |
no-color |
Don't create colored output (true /false ) |
false |
no-fail |
Never fail the action (true /false ) |
false |
verbose |
Output more information (true /false ) |
false |
format |
The output format. One of [tty | json | checkstyle | codeclimate | gitlab_codeclimate | codacy | sarif ] |
tty |
failure-threshold |
Rule severity threshold for pipeline failure. One of [ error | warning | info | style | ignore ] |
info |
override-error |
Comma separated list of rules to treat with error severity |
|
override-warning |
Comma separated list of rules to treat with warning severity |
|
override-info |
Comma separated list of rules to treat with info severity |
|
override-style |
Comma separated list of rules to treat with style severity |
|
ignore |
Comma separated list of Hadolint rules to ignore. | |
trusted-registries |
Comma separated list of urls of trusted registries |
Output
The Action will store results in an environment variable that can be used in other steps in a workflow.
Example to create a comment in a PR:
- name: Update Pull Request
uses: actions/github-script@v6
if: github.event_name == 'pull_request'
with:
script: |
const output = `
#### Hadolint: \`${{ steps.hadolint.outcome }}\`
\`\`\`
${process.env.HADOLINT_RESULTS}
\`\`\`
`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: output
})
Hadolint Configuration
To configure Hadolint (for example ignore rules), you can create an .hadolint.yaml
file in the root of your repository. Please check the Hadolint documentation.
🤝 Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
💛 Support the project
If this project was useful to you in some form, We would be glad to have your support. It will help keeping the project alive.
The sinplest form of support is to give a ⭐️ to this repo.
This project was originally created by Bruno Paz and incorporated into the Hadolint organization. If you appreciate the work done on this action, Bruno would be happy with your sponsorship.
Author
👤 Bruno Paz
- Website: https://github.com/brpaz
- Github: @brpaz