Skip to content

Commit

Permalink
ci: Add Conventional Commit Linter
Browse files Browse the repository at this point in the history
  • Loading branch information
arielvalentin committed Jan 18, 2024
1 parent 1c10d02 commit cdaa8e2
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .commit-me.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"include-pull-requests": true,
"types": [ "chore", "ci", "docs", "feat", "fix", "perf", "refactor", "release", "squash", "test" ]
}
32 changes: 32 additions & 0 deletions .github/workflows/conventional-commits.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Conventional Commits Validation

on:
workflow_dispatch:
pull_request:
types:
- opened
- synchronize
- reopened
- edited

permissions:
contents: read
pull-requests: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }} # Ensure that only one instance of this workflow is running per Pull Request
cancel-in-progress: true # Cancel any previous runs of this workflow

jobs:
validate-commits:
name: Conventional Commits Validation
runs-on: ubuntu-latest
steps:
- uses: dev-build-deploy/commit-me@v1.3.1
env:
FORCE_COLOR: 3
with:
token: ${{ secrets.GITHUB_TOKEN }}
include-commits: true
update-labels: false
config: ".commit-me.json"
39 changes: 39 additions & 0 deletions .github/workflows/lint-conventional-commits.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: "Lint Conventional Commits"
on:
pull_request:
types:
- opened
- synchronize
- reopened
- edited

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }} # Ensure that only one instance of this workflow is running per Pull Request
cancel-in-progress: true # Cancel any previous runs of this workflow

jobs:
main:
name: Lint Conventional Commits
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: amannn/action-semantic-pull-request@v5.4.0
name: "🤖 Check PR title follows conventional commit spec"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Have to specify all types because `maint` and `rel` aren't defaults
types: |
fix
feat
chore
ci
docs
style
refactor
perf
test
- uses: actions/checkout@v4.1.1
- uses: wagoid/commitlint-github-action@v5.4.5
name: "🤖 Check commit messages follow conventional commit spec"
30 changes: 30 additions & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'subject-case': [
2,
'never',
[
'upper-case',
'pascal-case',
]
],
'type-enum': [
2,
'always',
[
'chore',
'ci',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'squash',
'style',
'test'
]
]
}
};

0 comments on commit cdaa8e2

Please sign in to comment.