Before submitting code contributions, you should first complete the following prerequisites.
Before you can contribute, we kindly ask you to sign our Contributor License Agreement (CLA). You can do this using your GitHub account and one click.
Please make sure to read and observe the Contribution Policy.
Improvement and bugfix tasks for Percona's projects are tracked in Jira.
Although not mandatory, it is a good practice to examine already open Jira issues first. For bigger contributions, we suggest creating a Jira issue and discussing it with the engineering team and community before proposing any code changes.
Another good place to discuss Percona's projects with developers and other community members is the community forum.
Contributions to the source tree should follow the workflow described below:
-
First, you need to fork the repository on GitHub, clone your fork locally, and then sync your local fork to upstream. After that, before starting to work on changes, make sure to always sync your fork with upstream.
-
Create a branch for changes you are planning to make. If there is a Jira ticket related to your contribution, it is recommended to name your branch in the following way:
<Jira issue number>-<short description>
, where the issue number is something likeK8SPG-42
.Create the branch in your local repo as follows:
$ git checkout -b K8SPG-42-fix-feature-X
When your changes are ready, make a commit, mentioning the Jira issue in the commit message, if any:
$ git add . $ git commit -m "K8SPG-42 fixed by ......" $ git push -u origin K8SPG-42-fix-feature-X
-
Create a pull request to the main repository on GitHub.
-
When the reviewer makes some comments, address any feedback that comes and update the pull request.
-
When your contribution is accepted, your pull request will be approved and merged to the main branch.
The workflow for documentation is similar, but we store source code for the Percona Operator for PostgreSQL documentation in a separate repository. See the Documentation Contribution Guide for more information.
Find Operator Dockerfile in build folder.
Our Operator uses various container images - databases, proxies, other. You can find the Dockerfiles in percona-docker repository.
Your contribution will be reviewed by other developers contributing to the project. The more complex your changes are, the more experts will be involved. You will receive feedback and recommendations directly on your pull request on GitHub, so keep an eye on your submission and be prepared to make further amendments. The developers might even provide some concrete suggestions on modifying your code to match the project’s expectations better.