We warmly welcome and appreciate contributions from the community! By participating you agree to the code of conduct.
- Gather input early and often rather than waiting until the end.
- Have in-person conversations.
- Regularly share your branch of work.
- Consider making a draft PR.
- Pair as needed.
- Prefer short names based on context such as: file vs. database_file
- People will be familiar with the code, so err on the side of brevity but avoid extremes.
- Generally follow surrounding code style and conventions. Use
make lint
. - Have tests including unit and end-to-end.
- Resources:
-
Sign our Contributor License Agreement.
-
Fork the repository on GitHub.
-
Clone the repository.
-
Create a change
-
Create a topic branch.
-
Make commits as logical units for ease of reviewing.
-
Try and follow similar coding styles as found throughout the code base.
-
Rebase with main often to stay in sync with upstream.
-
Add appropriate tests and view coverage with
make coverage
. -
Ensure a well written commit message as explained here and here.
-
Address any linter issues with
make lint
.
-
-
Submit a pull request (PR).
- Create a pull request from your fork.
- Follow Google's Code Review Guidelines
- PR comments should have technical explanations.
- Avoid “I prefer it this way”. See Principles Section.
- Avoid these Toxic Behaviors (video)
- Use Github's "Request changes" very sparingly. This indicates that there are critical blockers that absolutely must change before approval.
- Use Github's “Start a review” feature to submit multiple comments into a single review.
- Address PR comments with fixup or squash commits. This makes it easier for the review to see what changed.
- Ideally wait until the PR has been approved to squash these commits, but sometimes it might be cleaner and easier to follow to combine them earlier.
- Rebasing your PR with main is good practice.
- Use Github’s “Resolve Conversation” button to indicate you addressed the feedback. There is no need for a comment unless you deviated from the reviewer's specific feedback.
Connect with Greenplum on: