KengoTODA / semantic-pull-requests

Ensure your pull requests follow the Conventional Commits spec

Home Page:https://github.com/apps/semantic-pull-requests

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semantic Pull Requests

GitHub status check that ensures your pull requests follow the Conventional Commits spec

Using semantic-release and conventional commit messages? Install this Probot app on your repos to ensure your pull requests are semantic before you merge them.

How it works

๐Ÿ‘ฎ Note! The default behavior of this bot is not to police all commit messages, but rather to ensure that every PR has just enough semantic information to be able to trigger a release when appropriate. The goal is to gather this semantic information in a way that doesn't make life harder for project contributors, especially newcomers who may not know how to amend their git commit history.

By default, only the PR title OR at least one commit messsage needs to have semantic prefix. If you wish to change this behavior, see configuration section below.

Scenario Status Status Check Message
PR title is semantic ๐Ÿ’š ready to be squashed
any commit is semantic ๐Ÿ’š ready to be merged or rebased
nothing is semantic ๐Ÿ’› add a semantic commit or PR title

Example Scenario

Take this PR for example. None of the commit messages are semantic, nor is the PR title, so the status remains yellow:

screen shot 2018-07-14 at 6 22 58 pm

screen shot 2018-07-14 at 6 22 10 pm


Edit the PR title by adding a semantic prefix like fix: or feat: or any other conventional commit type. Now use Squash and Merge to squash the branch onto master and write a standardized commit message while doing so:


screen shot 2018-07-14 at 6 23 11 pm

screen shot 2018-07-14 at 6 23 23 pm

Installation

๐Ÿ‘‰ github.com/apps/semantic-pull-requests

Configuration

By default, no configuration is necessary.

If you wish to override some behaviors, you can add a semantic.yml file to your .github directory with the following optional settings:

# Always validate the PR title, and ignore the commits
titleOnly: false

License

Apache 2.0

About

Ensure your pull requests follow the Conventional Commits spec

https://github.com/apps/semantic-pull-requests

License:Apache License 2.0


Languages

Language:JavaScript 97.2%Language:Shell 2.8%