Contribute to the Gloo Gateway code
As a developer, you can contribute code to the Gloo Gateway project.
Ways to contribute
Filing issues
If you encounter a bug, you can report the issue on GitHub.
- Review existing issues. If you find a similar issue, add a comment with more context or a 👍 reaction to indicate your agreement.
- If you don’t find a similar issue, open an issue using the appropriate template, such as a Bug Report.
Small bug fixes
If your bug fix is small (around 20 lines of code), just open a pull request. The PR template walks you through providing context and tests that verify your fix works. Solo’s engineering team will try to merge the fix as soon as possible.
Big PRs
Sometimes, you might need to open a larger PR, such as for:
- Big bug fixes
- New features
For significant changes to the Gloo Gateway project, get input on the design before starting on the implementation.
- Refer to Filing issues to find or open an issue with your idea.
- Message the Solo team on Slack to discuss your proposed changes and come up with an implementation plan.
- Refer to the
devel
directory in the Gloo Gateway project for tools and helpful information to contribute, debug, and test your code. - Open a draft PR with the
work in progress
label to get feedback on your work. - Address any review comments that a Solo team member leaves.
The Solo team will merge and release your code changes!
Code review guidelines
Every piece of code in Gloo Gateway is reviewed by at least one Solo team member familiar with that codebase.
- Changelog Every PR in Gloo Gateway needs a changelog entry. For more information about changelogs, see the readme.
- CI check A Solo team member needs to kick off the CI process by commenting
/test
on your PR. - Testing Please write tests for your changes. Bias towards fast / unit testing.
- Comments The code reviewer may leave comments to discuss changes. Minor preferences are often called out with
nit
.
Testing with coverage
To check coverage, run your tests in the package, such as:
ginkgo -cover && go tool cover -html *.coverprofile