-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
130 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
name: Lint commits | ||
jobs: | ||
lint-commits: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
- name: Fixup git permissions | ||
# https://github.com/actions/checkout/issues/766 | ||
shell: bash | ||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | ||
- uses: actions/setup-node@v4.1.0 | ||
- run: npm install conventional-changelog | ||
- run: npm install @commitlint/cli | ||
- run: npx commitlint --from HEAD~${{ github.event.pull_request.commits }} --to HEAD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
module.exports = { | ||
parserPreset: 'conventional-changelog-conventionalcommits', | ||
rules: { | ||
'body-leading-blank': [1, 'always'], | ||
'body-max-line-length': [2, 'always', 100], | ||
'footer-leading-blank': [1, 'always'], | ||
'footer-max-line-length': [2, 'always', 100], | ||
'header-max-length': [2, 'always', 100], | ||
'subject-case': [2, 'never', ['sentence-case', 'start-case', 'pascal-case', 'upper-case']], | ||
'subject-empty': [2, 'never'], | ||
'subject-full-stop': [2, 'never', '.'], | ||
'type-case': [2, 'always', 'lower-case'], | ||
'type-empty': [2, 'never'], | ||
'type-enum': [2, 'always', ['build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test']], | ||
}, | ||
prompt: { | ||
questions: { | ||
type: { | ||
description: "Select the type of change that you're committing", | ||
enum: { | ||
feat: { | ||
description: 'A new feature', | ||
title: 'Features', | ||
emoji: '✨', | ||
}, | ||
fix: { | ||
description: 'A bug fix', | ||
title: 'Bug Fixes', | ||
emoji: '🐛', | ||
}, | ||
docs: { | ||
description: 'Documentation only changes', | ||
title: 'Documentation', | ||
emoji: '📚', | ||
}, | ||
style: { | ||
description: 'Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)', | ||
title: 'Styles', | ||
emoji: '💎', | ||
}, | ||
refactor: { | ||
description: 'A code change that neither fixes a bug nor adds a feature', | ||
title: 'Code Refactoring', | ||
emoji: '📦', | ||
}, | ||
perf: { | ||
description: 'A code change that improves performance', | ||
title: 'Performance Improvements', | ||
emoji: '🚀', | ||
}, | ||
test: { | ||
description: 'Adding missing tests or correcting existing tests', | ||
title: 'Tests', | ||
emoji: '🚨', | ||
}, | ||
build: { | ||
description: 'Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)', | ||
title: 'Builds', | ||
emoji: '🛠', | ||
}, | ||
ci: { | ||
description: 'Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)', | ||
title: 'Continuous Integrations', | ||
emoji: '⚙️', | ||
}, | ||
chore: { | ||
description: "Other changes that don't modify src or test files", | ||
title: 'Chores', | ||
emoji: '♻️', | ||
}, | ||
revert: { | ||
description: 'Reverts a previous commit', | ||
title: 'Reverts', | ||
emoji: '🗑', | ||
}, | ||
}, | ||
}, | ||
scope: { | ||
description: 'What is the scope of this change (e.g. component or file name)', | ||
}, | ||
subject: { | ||
description: 'Write a short, imperative tense description of the change', | ||
}, | ||
body: { | ||
description: 'Provide a longer description of the change', | ||
}, | ||
isBreaking: { | ||
description: 'Are there any breaking changes?', | ||
}, | ||
breakingBody: { | ||
description: 'A BREAKING CHANGE commit requires a body. Please enter a longer description of the commit itself', | ||
}, | ||
breaking: { | ||
description: 'Describe the breaking changes', | ||
}, | ||
isIssueAffected: { | ||
description: 'Does this change affect any open issues?', | ||
}, | ||
issuesBody: { | ||
description: 'If issues are closed, the commit requires a body. Please enter a longer description of the commit itself', | ||
}, | ||
issues: { | ||
description: 'Add issue references (e.g. "fix #123", "re #123".)', | ||
}, | ||
}, | ||
}, | ||
} |