googleapis / googleapis/google-cloud-java

gapic_metadata.proto should be updated automatically

Open
#13,289 0 comments 0 reactions 0 assignees View on GitHub
priority: p3 type: feature request
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.