googleapis / googleapis/google-cloud-java
gapic_metadata.proto should be updated automatically
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 1.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 157
Description
gapic_metadata.proto currently downloads from a fixed [commitish of googleapis](https://github.com/googleapis/google-cloud-java/blob/8a9fab9ed555bf3fb554924071ca361f5f988270/sdk-platform-java/gapic-generator-java/pom.xml#L137).
There are two main issues with this approach
- This caused toil that we have to manually update the commitish whenever we need to use new features from the proto.
- Always downloading from Github makes the build non-hermetic and could cause flaky build if Github is not responsive.
Possible solution: We may want to use automations to sync it from [googleapis](https://github.com/googleapis/googleapis/blob/master/gapic/metadata/gapic_metadata.proto) to [java-common-protos](https://github.com/googleapis/google-cloud-java/tree/main/java-common-protos).
Contributor guide
Research direction
Start with sdk-platform-java/gapic-generator-java/pom.xml, where the fixed googleapis commitish is referenced, and compare it with gapic/metadata/gapic_metadata.proto and the java-common-protos location. Determine how the repository can sync the proto automatically without downloading from GitHub during builds. Done means updates no longer require manual commitish changes and the build remains hermetic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100