{"id":50687948,"url":"https://github.com/haproxytech/check-commit","last_synced_at":"2026-06-09T00:32:51.548Z","repository":{"id":127937299,"uuid":"410898860","full_name":"haproxytech/check-commit","owner":"haproxytech","description":"HAProxy git commit message validator","archived":false,"fork":false,"pushed_at":"2026-03-19T16:30:30.000Z","size":182,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-03-20T05:53:33.631Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haproxytech.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-09-27T13:37:33.000Z","updated_at":"2026-03-19T16:30:45.000Z","dependencies_parsed_at":"2026-03-19T15:04:01.550Z","dependency_job_id":null,"html_url":"https://github.com/haproxytech/check-commit","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/haproxytech/check-commit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haproxytech%2Fcheck-commit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haproxytech%2Fcheck-commit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haproxytech%2Fcheck-commit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haproxytech%2Fcheck-commit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haproxytech","download_url":"https://codeload.github.com/haproxytech/check-commit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haproxytech%2Fcheck-commit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34086664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2026-06-09T00:32:50.585Z","updated_at":"2026-06-09T00:32:51.537Z","avatar_url":"https://github.com/haproxytech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Check if commit subject is compliant with HAProxy guidelines\n\n[![Contributors](https://img.shields.io/github/contributors/haproxytech/check-commit?color=purple)](https://github.com/haproxy/haproxy/blob/master/CONTRIBUTING)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)\n\nThis action checks that the commit subject is compliant with the [patch classifying rules](https://github.com/haproxy/haproxy/blob/master/CONTRIBUTING#L632) of HAProxy contribution guidelines. Also it does minimal check for a meaningful message in the commit subject: no less than 20 characters and at least 3 words.\n\n## Examples\n\n### Good\n\n- Bug fix:\n```\nBUG/MEDIUM: fix set-var parsing bug in config-parser\n```\n- New minor feature:\n```\nMINOR: Add path-rewrite annotation\n```\n- Minor build update:\n```\nBUILD/MINOR: Add path-rewrite annotation\n```\n\n### Bad\n\n- Incorrect patch type\n```\nbug: fix set-var parsing bug in config-parser\n```\n- Short commit message\n```\nBUG/MEDIUM: fix set-var\n```\n- Unknown severity\n```\nBUG/MODERATE: fix set-var parsing bug in config-parser\n```\n\n\n## Inputs\n\nNone.\n\n## Usage\n\n```yaml\nsteps:\n  - name: check-commit\n    uses: docker://ghcr.io/haproxytech/commit-check:TAG\n    env:\n      API_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\nCheck-commit works only on `pull_request` events by inspecting all commit messages in a Pull Request. It uses Github API [pull requests API](https://docs.github.com/en/rest/reference/pulls#list-commits-on-a-pull-request) to fetch the commits so API_TOKEN env_variable is required.\n\n## Example configuration\n\nIf a configuration file (`.check-commit.yml`) is not available in the running directory, a built-in failsafe configuration identical to the one below is used.\n\n```yaml\n---\nHelpText: \"Please refer to https://github.com/haproxy/haproxy/blob/master/CONTRIBUTING#L632\"\nPatchScopes:\n  HAProxy Standard Scope:\n    - MINOR\n    - MEDIUM\n    - MAJOR\n    - CRITICAL\nPatchTypes:\n  HAProxy Standard Patch:\n    Values:\n      - BUG\n      - BUILD\n      - CLEANUP\n      - DOC\n      - LICENSE\n      - OPTIM\n      - RELEASE\n      - REORG\n      - TEST\n      - REVERT\n    Scope: HAProxy Standard Scope\n  HAProxy Standard Feature Commit:\n    Values:\n      - MINOR\n      - MEDIUM\n      - MAJOR\n      - CRITICAL\nTagOrder:\n  - PatchTypes:\n    - HAProxy Standard Patch\n    - HAProxy Standard Feature Commit\n```\n\n### Optional parameters\n\nThe program accepts an optional parameter to specify the location (path) of the base of the git repository. This can be useful in certain cases where the checked-out repo is in a non-standard location within the CI environment, compared to the running path from which the check-commit binary is being invoked.\n\n### aspell\n\nto check also spellcheck errors aspell was added. it can be configured with `.aspell.yml`\n\nexample\n```yaml\nmode: subject\nmin_length: 3\nignore_files:\n  - go.mod\n  - go.sum\n  - '*test.go'\n  - 'gen/*'\nallowed:\n  - aspell\n  - config\n```\n\n`min_length` is minimal word size that is checked (default: 3)\n\n`mode` can be set as\n\n- `subject`\n  - `default` option\n  - only subject of commit message will be checked\n- `commit`\n  - whole commit message will be checked\n- `all`\n  - both commit message and all code committed\n- `disabled`\n  - check is disabled\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaproxytech%2Fcheck-commit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaproxytech%2Fcheck-commit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaproxytech%2Fcheck-commit/lists"}