google-cloud-java icon indicating copy to clipboard operation
google-cloud-java copied to clipboard

Align shared-dependencies and GraalVM versions

Open mpeddada1 opened this issue 2 years ago • 2 comments

(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

mpeddada1 avatar Jan 17 '23 17:01 mpeddada1

Now the shared dependencies BOM has moved to gapic-generator-java repository. What's remaining tasks?

suztomo avatar Mar 27 '23 14:03 suztomo

  • 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.

burkedavison avatar Mar 27 '23 14:03 burkedavison

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

mpeddada1 avatar Apr 05 '24 15:04 mpeddada1