A Github Action for checking commit message formatting, branch naming, committer name, email, commit signoff and more.
- Usage
- Optional Inputs
- GitHub Action Job Summary
- GitHub Pull Request Comments
- Badging Your Repository
- Versioning
Create a new GitHub Actions workflow in your project, e.g. at .github/workflows/commit-check.yml
name: Commit Check
on:
push:
pull_request:
branches: 'main'
jobs:
commit-check:
runs-on: ubuntu-latest
permissions: # use permissions because of use pr-comments
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }} # checkout PR HEAD commit
fetch-depth: 0 # required for merge-base check
- uses: commit-check/commit-check-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # use GITHUB_TOKEN because of use pr-comments
with:
message: true
branch: true
author-name: true
author-email: true
commit-signoff: true
merge-base: false
job-summary: true
pr-comments: ${{ github.event_name == 'pull_request' }}
- Description: check commit message formatting convention.
- By default the rule follows conventional commits.
- Default:
true
- Description: check git branch naming convention.
- By default follow bitbucket conventional branch.
- Default:
true
- Description: check committer author name.
- Default:
true
- Description: check committer author email.
- Default:
true
- Description: check committer commit signature.
- Default:
true
- Description: check current branch is rebased onto target branch.
- Default:
false
Important
merge-base
is an experimental feature. by default it's disable.
To use this feature, you need fetch all history for all branches by setting fetch-depth: 0
in actions/checkout
.
- Description: run checks without failing. exit code is 0 otherwise is 1.
- Default:
false
- Description: display job summary to the workflow run.
- Default:
true
- Description: post results to the pull request comments.
- Default:
false
Important
pr-comments
is an experimental feature. by default it's disable. To use it you need to set GITHUB_TOKEN
in the GitHub Action.
This feature currently doesn’t work with forked repositories. For more details, refer to issue #77.
Note: the default rule of above inputs is following this configuration, if you want to customize just add your .commit-check.yml
config file under your repository root directory.
By default, commit-check-action results are shown on the job summary page of the workflow.
You can add a badge to your repository to show your contributors/users that you use commit-check!
Markdown
[![Commit Check](https://github.com/commit-check/commit-check-action/actions/workflows/commit-check.yml/badge.svg)](https://github.com/commit-check/commit-check-action/actions/workflows/commit-check.yml)
reStructuredText
.. image:: https://github.com/commit-check/commit-check-action/actions/workflows/commit-check.yml/badge.svg
:target: https://github.com/commit-check/commit-check-action/actions/workflows/commit-check.yml
:alt: Commit Check
Versioning follows Semantic Versioning.
To provide feedback (requesting a feature or reporting a bug) please post to issues.