chore: switch to conventional commit style for PR titles (#4835)

* docs: indicate conventional commit syntax should be used for PRs

* feat: add config file for semantic PR GH app

Requires installation of https://probot.github.io/apps/semantic-pull-requests/

* docs: mention added backport type
This commit is contained in:
thephez 2022-05-12 16:25:36 -04:00 committed by GitHub
parent 9e9ccc6b92
commit 61e33c09be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 59 additions and 18 deletions

29
.github/semantic.yml vendored Normal file
View File

@ -0,0 +1,29 @@
# https://github.com/zeke/semantic-pull-requests#configuration
titleOnly: true
scopes:
- consensus
- qt
- log
- mining
- net
- rpc/rest/zmq
- scripts
- utils
- wallet
types:
- feat
- fix
- docs
- style
- refactor
- perf
- test
- build
- ci
- chore
- revert
- trivial
- backport

View File

@ -57,28 +57,40 @@ about Git.
- Push changes to your fork
- Create pull request
The title of the pull request should be prefixed by the component or area that
the pull request affects. Valid areas as:
Pull request titles should follow the Conventional Commits specification which
uses the `<type>(optional scope): <description>` scheme. Please see the
specification linked below for valid types. When making a change to a specific
component, please specify the name of the component inside the scope. For
example, if you are developing a new feature related to consensus, the PR title
should look like this: `feat(consensus): amazing new feature`. Breaking changes
should be designated by appending an exclamation point after `<type>(scope)`
like this: `feat(rpc)!: remove deprecated rpc`.
- *Consensus* for changes to consensus critical code
- *Doc* for changes to the documentation
- *Qt* for changes to dash-qt
- *Log* Changes to log messages
- *Mining* for changes to the mining code
- *Net* or *P2P* for changes to the peer-to-peer network code
- *Refactor* for structural changes that do not change behavior
- *RPC/REST/ZMQ* for changes to the RPC, REST or ZMQ APIs
- *Scripts and tools* for changes to the scripts and tools
- *Test* for changes to the unit tests or QA tests
- *Utils and libraries* for changes to the utils and libraries
- *Wallet* for changes to the wallet code
For more details on allowed types and more information about Conventional
Commits, please see the [Conventional Commits
specification](https://www.conventionalcommits.org/en/v1.0.0/). In addition to
typical types, the `backport` type should be used for bitcoin backport PRs. For
all available types and scopes, please see the
[.github/semantic.yml](.github/semantic.yml) file. Commonly used scopes ones
include:
- *consensus* for changes to consensus critical code
- *qt* for changes to dash-qt
- *log* Changes to log messages
- *mining* for changes to the mining code
- *net* for changes to the peer-to-peer network code
- *rpc/rest/zmq* for changes to the RPC, REST or ZMQ APIs
- *scripts* for changes to the scripts and tools
- *utils* for changes to the utils and libraries
- *wallet* for changes to the wallet code
Examples:
Consensus: Add new opcode for BIP-XXXX OP_CHECKAWESOMESIG
Net: Automatically create hidden service, listen on Tor
Qt: Add feed bump button
Log: Fix typo in log message
feat(consensus): add new opcode for BIP-XXXX OP_CHECKAWESOMESIG
feat(net): automatically create hidden service, listen on Tor
feat(qt): add feed bump button
fix(log): fix typo in log message
feat(rpc)!: modify gettransaction parameter type
Note that translations should not be submitted as pull requests. Please see
[Translation Process](https://github.com/dashpay/dash/blob/master/doc/translation_process.md)