Skip to content

Latest commit

 

History

History
93 lines (70 loc) · 5.21 KB

CONTRIBUTING.md

File metadata and controls

93 lines (70 loc) · 5.21 KB

How to Contribute

We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution, this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.

Code of Conduct

Participation in this project comes under the Contributor Covenant Code of Conduct

Submitting code via Pull Requests

  • We follow the Github Pull Request Model for all contributions.
  • For large bodies of work, we recommend creating an issue and labelling it "kind/design" outlining the feature that you wish to build, and describing how it will be implemented. This gives a chance for review to happen early, and ensures no wasted effort occurs.
  • For new features, documentation must be included. Review the Documentation Editing and Contribution guide for details.
  • All submissions, including submissions by project members, will require review before being merged.
  • Once review has occurred, please rebase your PR down to a single commit. This will ensure a nice clean Git history.
  • Finally - Thanks for considering submitting code to Agones!

Formatting

When submitting pull requests, make sure to do the following:

  • Format all Go code with gofmt. Many people use goimports which fixes import statements and formats code in the same style of gofmt.
  • C++ code should follow the Google C++ Style Guide, which can be applied automatically using the ClangFormat command-line tool (e.g., clang-format -style=Google foo.cc).
  • Remove trailing whitespace. Many editors will do this automatically.
  • Ensure any new files have a trailing newline

Continuous Integration

Continuous integration is provided by Google Cloud Container Builder, through the cloudbuilder.yaml file found at the root of the directory.

Build success/failure with relevant details are pushed automatically to pull requests via the not (yet 😉) opensourced build system.

See the Container Builder documentation for more details on how to edit and expand the build process.

Becoming an Approver on Agones

If you are interested in becoming an Approver on the Agones project and getting commit access to the repository, we have a community membership guide, that outlines the process.

Additional Resources

Extending Kubernetes

Coding and Development