Contributions are welcome via GitHub Pull Requests. This document outlines the process to help get your contribution accepted.
Any type of contribution is welcome: new features, bug fixes, documentation improvements, etc.
- Fork this repository, develop, and test your changes.
- Submit a pull request.
When submitting a PR make sure that:
- It must pass CI jobs for linting and test the changes (if any).
- The title of the PR is clear enough
- The commits follow Conventional Commits Guidelines
- If necessary, add information to the repository's
README.md
.
All commits must be GPG signed. Check this guide to learn how to sign your commits with GPG.
We recommend adding also a sign-off. The sign-off is a simple line at the end of the explanation for a commit. All commits needs to be signed. Your signature certifies that you wrote the patch or otherwise have the right to contribute the material. The rules are pretty simple, you only need to certify the guidelines from developercertificate.org.
Then you just add a line to every git commit message:
Signed-off-by: Joe Smith <joe.smith@example.com>
Use your real name (sorry, no pseudonyms or anonymous contributions.)
If you set your user.name
and user.email
git configs, you can sign your commit automatically with git commit -s
.
Note: If your git config information is set properly then viewing the git log
information for your commit will look something like this:
Author: Joe Smith <joe.smith@example.com>
Date: Thu Feb 2 11:41:15 2018 -0800
Update README
Signed-off-by: Joe Smith <joe.smith@example.com>
Notice the Author
and Signed-off-by
lines match. If they don't your PR will be rejected by the automated DCO check.
- Changes are manually reviewed by Pipeless team members usually within a business day.
- Once the changes are accepted, the PR is tested (if needed) into the Pipeless CI pipeline.
- The PR is merged by the reviewer(s) in the GitHub
main
branch. - The new changes will be available in the next Pipeless release. The release cycle will push new versions to PyPi for all the affected components as well as build and publish the container images.