commitlintbot
Runs commitlint against your projects PRs
!Build Statusbuild-badgebuild !versionversion-badgepackage !downloadsdownloads-badgenpmtrends !MIT Licenselicense-badgeLICENSE
!PRs Welcomeprs-badgeprs !Code of Conductcoc-badgecoc
!Watch on GitHubgithub-watch-badgegithub-watch !Star on GitHubgithub-star-badgegithub-star !Tweettwitter-badgetwitter
The problem
You use conventional-changelog, but you squash pull requests (PRs). So you want PR titles to match the same semantics as your conventional changelog requirements. (If you want a bot to lint against your commit messages instead of the PR title, then check out ahmed-taj/commitlint-bot!)This solution
commitlintbot is a bot that will update your pull request's commit status based on your PR's title satisfying the requirements of your conventional-changelog configuration. It runs on now.sh, and receives github webhooks and updates a commit status via the Github API.Configuration
- A default commitlint config will be applied.
- However if you have a `commitlint.config.js` in the root of the repo, that will be used instead. The other config formats (.commitlintrc.js, .commitlintrc.json, .commitlintrc.yml) are **not** supported.
- ~Additionally, if you have a
.cz-config.js
in the root of your repo, that will be used to enforce your custom scopes & types.~ This is broken ATM. <3
Installation
- Setup webhook.
https://commitlintbot.now.sh
application/json
Secret... not implemented. :|
Choose individual events: Pull request
Add.- If you want to use this in an organization and the org has fairly locked down permissions, org owners will need to approve the use of the app (via OAuth clientid): https://github.com/settings/connections/applications/e3737bbd21bc66fb0a18
Now, things should be pretty automatic.
Also
- If you want to run your own.. just deploy to
now
withnow -e GHTOKEN=yourgithubpersonalaccesstoken
.