We warmly welcome and greatly appreciate contributions from the community. By participating you agree to the code of conduct. Overall, we follow GPDB's comprehensive contribution policy. Please refer to it here for details.
- Sign our Contributor License Agreement
- Fork the gpbackup repository on GitHub
- Run
go get github.com/greenplum-db/gpbackup/...
and add your fork as a remote - Run
make depend
to install required dependencies - Follow the README to set up your environment and run the tests
- Create your own feature branch (e.g.
git checkout -b gpbackup_branch
) and make changes on this branch. - Try and follow similar coding styles as found throughout the code base.
- Make commits as logical units for ease of reviewing.
- Rebase with main often to stay in sync with upstream.
- Add new tests to cover your code. We use Ginkgo and Gomega for testing.
- Ensure a well written commit message as explained here.
- Run
make format
,make test
, andmake end_to_end
in your feature branch and ensure they are successful. - Push your local branch to the fork (e.g.
git push <your_fork> gpbackup_branch
)
- Create a pull request from your fork.
- Address PR feedback with fixup and/or squash commits:
git add .
git commit --fixup <commit SHA>
-- or --
git commit --squash <commit SHA>
- Once approved, before merging into main squash your fixups with:
git rebase -i --autosquash origin/main
git push --force-with-lease $USER <my-feature-branch>
Your contribution will be analyzed for product fit and engineering quality prior to merging. Your pull request is much more likely to be accepted if it is small and focused with a clear message that conveys the intent of your change.
Connect with Greenplum on: