diff --git a/.github/config/commitlint.config.js b/.github/config/commitlint.config.js new file mode 100644 index 00000000000..12c6f9bdd1f --- /dev/null +++ b/.github/config/commitlint.config.js @@ -0,0 +1,21 @@ +// See rules configuration at https://commitlint.js.org/reference/rules-configuration.html#rules-configuration +module.exports = { + extends: ['@commitlint/config-conventional'], + rules: { + 'subject-case': [0], + 'body-max-line-length': [0], + 'footer-max-line-length': [0], + 'type-enum': [2, 'always', [ + 'build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'test' + ]] + }, + parserPreset: { + parserOpts: { + issuePrefixes: ['#'] + } + }, + ignores: [ + (message) => message.includes('Co-authored-by:') + ] +}; + diff --git a/.github/workflows/ci_linting.yml b/.github/workflows/ci_linting.yml index d6ba5ed201f..842bf5197fd 100644 --- a/.github/workflows/ci_linting.yml +++ b/.github/workflows/ci_linting.yml @@ -149,3 +149,13 @@ jobs: exit 1 - name: Success run: echo "All nix files passed format check" + commit-lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + with: + submodules: true + - uses: ahmadnassri/action-commit-lint@v2 + with: + config: ./.github/config/commitlint.config.js +