From f05a0c1dde8c1cbe644aa71fc5b9e22ace34eb72 Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Tue, 31 Jan 2023 11:16:50 +0200 Subject: [PATCH] tools: Add commit linter Run under Github Actions, and restrict commit messages, structure, with, etc. Enforce using only our specified prefixes for commit messages. It reduces the work release managers do when _crafting_ release notes. Signed-off-by: Donatas Abraitis --- .github/commitlint.config.js | 44 ++++++++++++++++++++++++++++++++ .github/workflows/commitlint.yml | 19 ++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 .github/commitlint.config.js create mode 100644 .github/workflows/commitlint.yml diff --git a/.github/commitlint.config.js b/.github/commitlint.config.js new file mode 100644 index 000000000..cf7daab86 --- /dev/null +++ b/.github/commitlint.config.js @@ -0,0 +1,44 @@ +module.exports = { + rules: { + 'header-max-length': [2, 'always', 72], + 'type-case': [2, 'always', 'lower-case'], + 'type-empty': [2, 'never'], + 'type-enum': [ + 2, + 'always', + [ + 'babeld', + 'bfdd', + 'bgpd', + 'doc', + 'docker', + 'eigrpd', + 'fpm', + 'isisd', + 'ldpd', + 'lib', + 'multi', + 'nhrpd', + 'ospf6d', + 'ospfd', + 'pbrd', + 'pimd', + 'pim6d', + 'ripd', + 'ripngd', + 'sharpd', + 'staticd', + 'tests', + 'tools', + 'vtysh', + 'vrrpd', + 'yang', + 'zebra', + 'all', + ], + ], + 'subject-empty': [2, 'never'], + 'subject-full-stop': [2, 'never', '.'], + 'subject-case': [2, 'always', 'sentence-case'], + }, +}; diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml new file mode 100644 index 000000000..a1f273a2c --- /dev/null +++ b/.github/workflows/commitlint.yml @@ -0,0 +1,19 @@ +name: commitlint + +on: + pull_request_target: + types: + - opened + - reopened + +jobs: + lint: + if: github.repository == 'frrouting/frr' + permissions: + contents: read + runs-on: ubuntu-latest + steps: + - name: Check Commit + uses: wagoid/commitlint-github-action@v5 + with: + configFile: .github/commitlint.config.js -- 2.39.2