Add information about vendoring to CONTRIBUTING.md (#2045)

I've seen questions about how to vendor come up from new members of our team and from the community in some OSS issues. Let's make our tribal knowledge a documented process!
This commit is contained in:
Riley Karson 2018-09-13 10:30:08 -07:00 committed by GitHub
parent 0a960f5e8c
commit 6ecffddf1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 2 deletions

View File

@ -8,6 +8,25 @@ The following are certain Google Provider-specific things to be aware of when co
We aim to make the Google Provider a good steward of Go practices. See https://github.com/golang/go/wiki/CodeReviewComments for common Go mistakes that you should attempt to avoid.
## Vendoring Libraries
When adding support for just-released GCP features, you'll often need to vendor a new version of the Google API client and
occasionally some of the downstream dependencies of that client. The Google Provider uses [govendor](https://github.com/kardianos/govendor)
in order to manage dependencies. To vendor a new package or update an existing package, run:
```bash
govendor fetch {{path}}
```
For example:
```bash
govendor fetch google.golang.org/api/compute/v1
```
When updating a vendored library, try to submit the vendoring as a separate pull request and include the commands you ran in
the pull request description.
## Tests
### Running Tests
@ -50,4 +69,4 @@ resource.TestStep{
## Autogenerated Resources
Some resources in the Google provider are autogenerated using the [Magic Modules](https://github.com/GoogleCloudPlatform/magic-modules) framework, and have a large disclaimer as a comment at the top of their files to say so. For feature requests or bugs regarding those resources, please continue to file [issues](https://github.com/terraform-providers/terraform-provider-google/issues) here. PRs changing those resources will not be accepted.
Some resources in the Google provider are autogenerated using the [Magic Modules](https://github.com/GoogleCloudPlatform/magic-modules) framework, and have a large disclaimer as a comment at the top of their files to say so. For feature requests or bugs regarding those resources, please continue to file [issues](https://github.com/terraform-providers/terraform-provider-google/issues) here. PRs changing those resources will not be accepted.

View File

@ -62,4 +62,4 @@ $ $GOPATH/bin/terraform-provider-google
...
```
In order to test the Google provider, see the [Tests section of the contribution guidelines](https://github.com/terraform-providers/terraform-provider-google/blob/master/.github/CONTRIBUTING.md#tests).
For guidance on common development practices such as testing changes or vendoring libraries, see the [contribution guidelines](https://github.com/terraform-providers/terraform-provider-google/blob/master/.github/CONTRIBUTING.md). If you have other development questions we don't cover, please file an issue!