xref: /aosp_15_r20/external/bazelbuild-rules_go/CONTRIBUTING.md (revision 9bb1b549b6a84214c53be0924760be030e66b93a)
1*9bb1b549SSpandan DasWant to contribute? Great! First, read this page (including the small print at
2*9bb1b549SSpandan Dasthe end).
3*9bb1b549SSpandan Das
4*9bb1b549SSpandan Das### Before you contribute
5*9bb1b549SSpandan Das**Before we can use your code, you must sign the
6*9bb1b549SSpandan Das[Google Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual?csw=1)
7*9bb1b549SSpandan Das(CLA)**, which you can do online.
8*9bb1b549SSpandan Das
9*9bb1b549SSpandan DasThe CLA is necessary mainly because you own the copyright to your changes,
10*9bb1b549SSpandan Daseven after your contribution becomes part of our codebase, so we need your
11*9bb1b549SSpandan Daspermission to use and distribute your code. We also need to be sure of
12*9bb1b549SSpandan Dasvarious other things — for instance that you'll tell us if you know that
13*9bb1b549SSpandan Dasyour code infringes on other people's patents. You don't have to sign
14*9bb1b549SSpandan Dasthe CLA until after you've submitted your code for review and a member has
15*9bb1b549SSpandan Dasapproved it, but you must do it before we can put your code into our codebase.
16*9bb1b549SSpandan Das
17*9bb1b549SSpandan Das### The small print
18*9bb1b549SSpandan DasContributions made by corporations are covered by a different agreement than
19*9bb1b549SSpandan Dasthe one above, the
20*9bb1b549SSpandan Das[Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate).
21*9bb1b549SSpandan Das
22*9bb1b549SSpandan Das### Contribution process
23*9bb1b549SSpandan Das
24*9bb1b549SSpandan Das1. Explain your idea and discuss your plan with members of the team. The best
25*9bb1b549SSpandan Das   way to do this is to create
26*9bb1b549SSpandan Das   an [issue](https://github.com/bazelbuild/rules_go/issues) or comment on an
27*9bb1b549SSpandan Das   existing issue.
28*9bb1b549SSpandan Das1. Prepare a git commit with your change. Don't forget to
29*9bb1b549SSpandan Das   add [tests](https://github.com/bazelbuild/rules_go/tree/master/tests).
30*9bb1b549SSpandan Das   Run the existing tests with `bazel test //...`. Update
31*9bb1b549SSpandan Das   [README.md](https://github.com/bazelbuild/rules_go/blob/master/README.md)
32*9bb1b549SSpandan Das   if appropriate.
33*9bb1b549SSpandan Das1. [Create a pull request](https://help.github.com/articles/creating-a-pull-request/).
34*9bb1b549SSpandan Das   This will start the code review process. **All submissions, including
35*9bb1b549SSpandan Das   submissions by project members, require review.**
36*9bb1b549SSpandan Das1. You may be asked to make some changes. You'll also need to sign the CLA at
37*9bb1b549SSpandan Das   this point, if you haven't done so already. Our continuous integration bots
38*9bb1b549SSpandan Das   will test your change automatically on supported platforms. Once everything
39*9bb1b549SSpandan Das   looks good, your change will be merged.
40