{"id":16117770,"url":"https://github.com/jbergstroem/hadolint-gh-action","last_synced_at":"2025-03-16T08:32:46.844Z","repository":{"id":38332672,"uuid":"347645338","full_name":"jbergstroem/hadolint-gh-action","owner":"jbergstroem","description":"A hadolint linter for github actions that provides code annotations (and more)","archived":false,"fork":false,"pushed_at":"2025-03-10T18:06:57.000Z","size":77,"stargazers_count":12,"open_issues_count":6,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-14T20:54:19.666Z","etag":null,"topics":["bash","containers","continuous-integration","docker","github-actions","hadolint","security"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbergstroem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-14T13:32:10.000Z","updated_at":"2024-09-03T21:51:14.000Z","dependencies_parsed_at":"2024-02-02T22:28:39.439Z","dependency_job_id":"4256c17f-fb9a-4c0b-929a-f70ba06d7c76","html_url":"https://github.com/jbergstroem/hadolint-gh-action","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbergstroem%2Fhadolint-gh-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbergstroem%2Fhadolint-gh-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbergstroem%2Fhadolint-gh-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbergstroem%2Fhadolint-gh-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbergstroem","download_url":"https://codeload.github.com/jbergstroem/hadolint-gh-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243807505,"owners_count":20351004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","containers","continuous-integration","docker","github-actions","hadolint","security"],"created_at":"2024-10-09T20:46:55.488Z","updated_at":"2025-03-16T08:32:46.498Z","avatar_url":"https://github.com/jbergstroem.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hadolint-gh-action\n\nA stable, well-tested, highly configurable way of checking your Dockerfile(s) with [hadolint][hadolint].\n\n## Usage\n\nVerify your dockerfiles with hadolint for pull requests:\n\n```yaml\nname: Lint\non: pull_request\n\njobs:\n  hadolint:\n    runs-on: ubuntu-22.04\n    name: Hadolint\n    steps:\n      - uses: actions/checkout@v4\n      - uses: jbergstroem/hadolint-gh-action@v1\n```\n\nMore usage examples [can be found in USAGE.md](USAGE.md).\n\n## Parameters\n\n| Variable      | Default        | Description                                                                                                                                   |\n| :------------ | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- |\n| dockerfile    | `./Dockerfile` | Path to Dockerfile(s). Accepts shell expansions (`**/Dockerfile`)                                                                             |\n| config_file   |                | Path to optional config (hadolint defaults to read `./hadolint.yml` if it exists)                                                             |\n| error_level   | `0`            | Fail CI based on hadolint output (`-1`: never, `0`: error, `1`: warning, `2`: info)                                                           |\n| annotate      | true           | Annotate code inline in the github PR viewer (`true`/`false`)                                                                                 |\n| output_format |                | Set output format (choose between `tty`, `json`, `checkstyle`, `codeclimate`, `gitlab_codeclimate`, `gnu`, `codacy`, `sonarqube` and `sarif`) |\n| hadolint_path |                | Absolute path to hadolint binary. If unset, it is assumed to exist in `$PATH`                                                                 |\n| version       | `2.12.0`       | Use a specific version of Hadolint                                                                                                            |\n\n## Hadolint version\n\nThe github action accepts an input - `version` - to switch/pin to a different version of hadolint.\n\nThe output variable `hadolint_version` will always contain what version the action is running.\nThis can be useful in debugging scenarios where things \"break\" from one day to the other due to the action being updated.\n\nThe shell scripts are developed against the latest version available (which is the default value for the input).\n\n## Output\n\nYou can control the behavior of how hadolint presents its findings by configuring:\n\n- annotate: let feedback show inline in your code review\n- output_format: store the output in a variable you can pass on to other processing tools\n\nIf `output_format` is set, the github action variable `hadolint_output` will contain the output. You can choose what format you prefer depending on how you want to process the results.\n\nThese output variables are always populated:\n\n- `hadolint_version`: the version of hadolint used while running the action\n- `hadolint_gh_action_version`: the version of this action while running it\n\n## Robustness\n\nAlso known as \"can I run this in production\". The action itself is tested via CI for all its use cases as well as unit tests for each function. Additionally, `shellcheck` is run against all shell scripts. Releases are cut manually (for now) and the action will strictly follow semver with regards to breaking functionality or options.\n\n## Performance\n\nDue to staying with bash we can avoid Docker-related performance penalties. Yet to be benchmarked, but it is likely on par or faster than other hadolint actions.\n\n[hadolint]: http://github.com/hadolint/hadolint/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbergstroem%2Fhadolint-gh-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbergstroem%2Fhadolint-gh-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbergstroem%2Fhadolint-gh-action/lists"}