mirror of
https://github.com/datahub-project/datahub.git
synced 2025-06-27 05:03:31 +00:00
97 lines
4.1 KiB
Markdown
97 lines
4.1 KiB
Markdown
# Contributing
|
||
|
||
We always welcome contributions to help make DataHub better. Take a moment to read this document if you would like to contribute.
|
||
|
||
## Provide Feedback
|
||
|
||
Have ideas about how to make DataHub better? Head over to [DataHub Feature Requests](https://feature-requests.datahubproject.io/) and tell us all about it!
|
||
|
||
Show your support for other requests by upvoting; stay up to date on progess by subscribing for updates via email.
|
||
|
||
## Reporting Issues
|
||
|
||
We use GitHub issues to track bug reports and submitting pull requests.
|
||
|
||
If you find a bug:
|
||
|
||
1. Use the GitHub issue search to check whether the bug has already been reported.
|
||
|
||
1. If the issue has been fixed, try to reproduce the issue using the latest master branch of the repository.
|
||
|
||
1. If the issue still reproduces or has not yet been reported, try to isolate the problem before opening an issue.
|
||
|
||
## Submitting a Request For Comment (RFC)
|
||
|
||
If you have a substantial feature or a design discussion that you'd like to have with the community follow the RFC process outlined [here](./rfc.md)
|
||
|
||
## Submitting a Pull Request (PR)
|
||
|
||
Before you submit your Pull Request (PR), consider the following guidelines:
|
||
|
||
- Search GitHub for an open or closed PR that relates to your submission. You don't want to duplicate effort.
|
||
- Follow the [standard GitHub approach](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) to create the PR. Please also follow our [commit message format](#commit-message-format).
|
||
- If there are any breaking changes, potential downtime, deprecations, or big feature please add an update in [Updating DataHub under Next](how/updating-datahub.md).
|
||
- That's it! Thank you for your contribution!
|
||
|
||
## Commit Message Format
|
||
|
||
Please follow the [Conventional Commits](https://www.conventionalcommits.org/) specification for the commit message format. In summary, each commit message consists of a _header_, a _body_ and a _footer_, separated by a single blank line.
|
||
|
||
```
|
||
<type>[optional scope]: <description>
|
||
|
||
[optional body]
|
||
|
||
[optional footer(s)]
|
||
```
|
||
|
||
Any line of the commit message cannot be longer than 88 characters! This allows the message to be easier to read on GitHub as well as in various Git tools.
|
||
|
||
### Type
|
||
|
||
Must be one of the following (based on the [Angular convention](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)):
|
||
|
||
- _feat_: A new feature
|
||
- _fix_: A bug fix
|
||
- _refactor_: A code change that neither fixes a bug nor adds a feature
|
||
- _docs_: Documentation only changes
|
||
- _test_: Adding missing tests or correcting existing tests
|
||
- _perf_: A code change that improves performance
|
||
- _style_: Changes that do not affect the meaning of the code (whitespace, formatting, missing semicolons, etc.)
|
||
- _build_: Changes that affect the build system or external dependencies
|
||
- _ci_: Changes to our CI configuration files and scripts
|
||
|
||
A scope may be provided to a commit’s type, to provide additional contextual information and is contained within parenthesis, e.g.,
|
||
|
||
```
|
||
feat(parser): add ability to parse arrays
|
||
```
|
||
|
||
### Description
|
||
|
||
Each commit must contain a succinct description of the change:
|
||
|
||
- use the imperative, present tense: "change" not "changed" nor "changes"
|
||
- don't capitalize the first letter
|
||
- no dot(.) at the end
|
||
|
||
### Body
|
||
|
||
Just as in the description, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.
|
||
|
||
### Footer
|
||
|
||
The footer should contain any information about _Breaking Changes_, and is also the place to reference GitHub issues that this commit _Closes_.
|
||
|
||
_Breaking Changes_ should start with the words `BREAKING CHANGE:` with a space or two new lines. The rest of the commit message is then used for this.
|
||
|
||
### Revert
|
||
|
||
If the commit reverts a previous commit, it should begin with `revert:`, followed by the description. In the body it should say: `Refs: <hash1> <hash2> ...`, where the hashs are the SHA of the commits being reverted, e.g.
|
||
|
||
```
|
||
revert: let us never again speak of the noodle incident
|
||
|
||
Refs: 676104e, a215868
|
||
```
|