Contribution Process#
Make your changes, push them to your fork and create a pull-request
The pull-request should target the
next
branchFor feedback/RFC then set up the pull-request as a Draft
The CI will trigger as you create the PR and re-triggered upon update
The default CI-jobs consists of running style/linters and building xNVMe
Average time for a full functional verification run is about 40min
One manual CI-job is triggered via the label
bench
Go over the Pull-Request Checklist and re-iterate on your pull-request / changes
Pull-Request Checklist#
Please check your pull-request for the following:
The pull-request itself has a message describing the goal of the pull-request
Commits are squashed such that each commit is an incremental step towards the goal
All commits must have their commit messages formatted according to Commit Messages
Commits are rebased on top of
next
New functionality is accompanied by tests verifying it
The tests are passing
All review feedback is addressed
Commit Messages#
Messages must follow the Conventional Commits specification. And in addition, for readability:
The first line is subject/title
Keep it at a max. of 72 chars, if possible
Lower-case is preferred
Do not end with a punctuation
Use the imperative mood e.g.
add
rather thanadded
/adds
A couple of examples:
feat(be/ramdisk): add support for compare
feat(build): bump libvfn to v4.0.1
refactor(docs): move toolchain section down after troubleshooting
Then an empty line.
Then a description (may be omitted for truly trivial changes).
Should motivate the change and explain what and why, not how
Then an empty line again (if it has a description).
Then a Signed-off-by tag with your real name and email.
For example:
Signed-off-by: Foo Bar <foo.bar@example.com>
Use
git commit -s ...
to add the sign-off automaticallyBy adding
Signed-off-by
, you indicate that you agree to the DCO
Take a look at the commit history (git log --follow <files>
), for the files
you are changing, that should give you an idea of the “component” as well as the
other items on the list above.