google-cloud-java
google-cloud-java copied to clipboard
Align shared-dependencies and GraalVM versions
(1) General purpose GraalVM configurations live in gapic-generator/gax. Sometimes there are configuration changes in gax that are needed for GraalVM versions updates. These changes are then brought in by shared-dependencies and applied to downstream libraries, therefore making the updates to GraalVM kokoro jobs dependent on shared-dependencies.
(2) If shared-dependencies and all the dependencies needed for the native image kokoro jobs to succeed (jdk, native-image extension) were packaged together in a single docker image, this would make our upgrades seamless by removing the need to coordinate PR merges. It would also allow us to use the locally cached dependencies instead of relying on maven central to download them.
@burkedavison @danielgazineu
Now the shared dependencies BOM has moved to gapic-generator-java repository. What's remaining tasks?
-
Get the trampoline image labels to be packaged / bundled / coupled with the shared-dependencies version (ex: https://github.com/googleapis/google-cloud-java/blob/main/.kokoro/nightly/graalvm-native-17.cfg#L6)
-
Update the downstream native builds to use the shared-dependencies-provided trampoline image label.
Marking this as closed. The monorepo is now receiving atomic updates for shared-dependencies and graalvm docker images (example: https://github.com/googleapis/google-cloud-java/pull/10450). They are both versioned with the version of sdk-platform-java-config