gapic-generator-java icon indicating copy to clipboard operation
gapic-generator-java copied to clipboard

chore(hermetic-build): include .github template updates as part of generation

Open diegomarquezp opened this issue 9 months ago • 4 comments

Fixes https://github.com/googleapis/sdk-platform-java/issues/3701 ☕

Approach

The templates come from https://github.com/googleapis/synthtool/tree/bf182cd41d9a7de56092cafcc7befe6b398332f6. The only update was to include generated-files-bot, which is already up to date in all the HW repos.

The .kokoro folder will be a separate follow up task. We will now focus on solving the update of update_generation_config yaml and sh files.

The fix to include the .github folder follows from https://setuptools.pypa.io/en/latest/userguide/datafiles.html:

Glob patterns do not automatically match dotfiles, i.e., directory or file names starting with a dot (.).
To include such files, you must explicitly start the pattern with a dot, e.g. .* to match .gitignore.

Interestingly, this is also the reason cp synthool/gcp/templates/java_library/* ... did not bring folders starting with dot (such as .kokoro) into https://github.com/googleapis/sdk-platform-java/pull/2884

Confirming effects in downstream repos

Demos show the results as of https://github.com/googleapis/sdk-platform-java/pull/3723/commits/b66af92c461bd3f7bbd53010d646abf750895ad8 in

  • https://github.com/googleapis/java-storage/pull/3012
  • https://github.com/googleapis/java-logging/pull/1787
  • https://github.com/googleapis/java-pubsub/pull/2384
  • https://github.com/googleapis/java-bigtable/pull/2546
  • https://github.com/googleapis/java-spanner/pull/3711
  • https://github.com/googleapis/java-firestore/pull/2065
  • https://github.com/googleapis/java-datastore/pull/1810
  • https://github.com/googleapis/java-bigquerystorage/pull/2929
  • https://github.com/googleapis/java-pubsublite/pull/1837

There were no regressions on templated files that were manually modified.

diegomarquezp avatar Mar 26 '25 21:03 diegomarquezp

I don't think CODEOWNERS can be templated any more.

suztomo avatar Mar 27 '25 21:03 suztomo

Can you evaluate the templated, generated files are really needed? Seeing kokoro/nightly/java7.cfg, it seems you haven't checked that.

suztomo avatar Mar 27 '25 21:03 suztomo