We encourage everyone to help us improve Omnia by contributing to the project. Contributions can be as small as documentation updates or adding example use cases, to adding commenting or properly styling code segments, to full feature contributions. We ask that contributors follow our established guidelines for contributing to the project.
These guidelines are based on the pravega project.
This document will evolve as the project matures. Please be sure to regularly refer back in order to stay in-line with contribution guidelines.
To produce a pull request against Omnia, follow these steps:
lwilson/omnia.git
.
When preparing a pull request it is important to stay up-to-date with the master. We recommend that you rebase against the upstream repository frequently. To do this, use the following commands:
git pull --rebase upstream master #upstream is dellhpc/omnia
git push --force origin <pr-branch-name> #origin is your fork of the repository (e.g., <github_user_name>/omnia.git)
When creating an issue, there are two important parts: title and description. The title should be succinct, but give a good idea of what the issue is about. Try to add all important keywords to make it clear to the reader. For example, if the issue is about changing the log level of some messages in the segment store, then instead of saying "Log level" say "Change log level in the segment store". The suggested way includes both the goal where in the code we are supposed to do it.
For the description, there three parts:
Problem description: Describe what it is that we need to change. If it is a bug, describe the observed symptoms. If it is a new feature, describe it is supposed to be with as much detail as possible.
Problem location: This part refers to where in the code we are supposed to make changes. For example, if it is bug in the client, then in this part say at least "Client". If you know more about it, then please add it. For example, if you that there is an issue with SegmentOutputStreamImpl, say it in this part.
Suggestion for an improvement: This section is designed to let you give a suggestion for how to fix the bug described in the Problem description or how to implement the feature described in that same section. Please make an effort to separate between problem statement (Problem Description section) and solution (Suggestion for an improvement).
We next discuss how to create a pull request.
When creating a pull request, there are also two important parts: title and description. The title can be the same as the one of the issue, but it must be prefixed with the issue number, e.g.:
Issue 724: Change log level in the segment store
The description has four parts:
We require that developers sign off their commits to certify that they have permission to contribute the code in a pull request. This way of certifying is commonly known as the Developer Certificate of Origin (DCO). We encourage all contributors to read the DCO text before signing a commit and making contributions.
To make sure that pull requests have all commits signed off, we use the Probot DCO plugin.
To make sure that pull requests have all commits signed off, we use the Probot DCO plugin.
Use either --signoff
or -s
with the commit command.
Make sure you have your user name and e-mail set. The --signoff | -s
option will use the configured user name and e-mail, so it is important to configure it before the first time you commit. Check the following references: