-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
3 changed files
with
109 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,38 @@ | ||
const validateTypeNums = (parsedCommit) => { | ||
if (!parsedCommit.type) { | ||
return [false, 'invalid commit message'] | ||
} | ||
|
||
const types = parsedCommit.type.split(' ') | ||
for (var i=0;i<types.length;i++){ | ||
if ((types[i].toLowerCase() == "wip") || (types[i].toLowerCase() == "r4r")) { | ||
return [false, 'R4R or WIP is not acceptable, no matter upper case or lower case'] | ||
} | ||
} | ||
|
||
return [true,''] | ||
} | ||
|
||
|
||
module.exports = { | ||
parserPreset: { | ||
parserOpts: { | ||
headerPattern: /^(.*): .*/, | ||
} | ||
}, | ||
extends: ['@commitlint/config-conventional'], | ||
plugins: ['commitlint-plugin-function-rules'], | ||
rules: { | ||
'subject-empty':[2, 'always'], | ||
'scope-empty':[2, 'always'], | ||
'type-enum': [2, 'never'], | ||
'function-rules/type-case': [2, 'always', validateTypeNums], | ||
'header-max-length': [ | ||
2, | ||
'always', | ||
72, | ||
], | ||
}, | ||
helpUrl: | ||
'https://github.com/bnb-chain/bsc/tree/develop/docs/lint/commit.md', | ||
} |
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,45 @@ | ||
name: Lint Commit Messages | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
- develop | ||
|
||
pull_request: | ||
branches: | ||
- master | ||
- develop | ||
|
||
jobs: | ||
commitlint: | ||
strategy: | ||
matrix: | ||
node-version: [14.x] | ||
os: [ubuntu-18.04] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
- uses: actions/cache@v3 | ||
with: | ||
path: | | ||
~/.npm | ||
**/node_modules | ||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-node- | ||
- name: Install Deps | ||
run: | | ||
npm install -g commitlint-plugin-function-rules @commitlint/cli | ||
npm install --save-dev commitlint-plugin-function-rules @commitlint/cli | ||
- uses: wagoid/commitlint-github-action@v5 | ||
id: commitlint | ||
env: | ||
NODE_PATH: ${{ github.workspace }}/node_modules | ||
with: | ||
configFile: /github/workspace/.github/commitlint.config.js |
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,26 @@ | ||
## Commit Format Requirements | ||
1. The head line should contain no more than 72 characters | ||
2. head line is composed by scope : subject | ||
3. multi-scope is supported, separated by a space, such as scope1 scope2 scope3: subject | ||
it is better that scope number =<3 , scope length <= 20 char , but not mandatory | ||
4. keyword, such as R4R or WIP is not acceptable in the scope, no matter upper case or lower case. | ||
|
||
#### Example: Single Scope | ||
``` | ||
evm: optimize opcode mload | ||
``` | ||
|
||
#### Example: Multi Scope | ||
``` | ||
rpc core db: refactor the interface of trie access | ||
``` | ||
|
||
#### Example: Big Scope | ||
if the change is too big, impact several scopes, the scope name can be bep, feat or fix | ||
``` | ||
bep130: implement parallel evm | ||
feat: implement parallel trie prefetch | ||
fix: stack overflow on GetCommitState | ||
``` |