Skip to content

Conversation

diegomarquezp
Copy link
Contributor

@diegomarquezp diegomarquezp commented May 28, 2024

This is part of the effort to enable multi-version support in hand-written libraries. More context and details in this doc.

This PR adds two workflows and their scripts:

  • update_generation_config which updates generation_config.yaml (added in this PR) to contain the latest googleapis_committish (source of truth of library generation) as well as other dependencies such as gapic_generator_version. This job runs nightly and creates a PR that modifies the config yaml.
  • hermetic_library_generation which reads generation_config.yaml and pushes a new commit to any PR whose latest commit affects generation_config.yaml (e.g. the nightly PR created by update_generation_config). It essentially translates changes in the config yaml to changes in the source code (of the generated part). This workflow will be a required check.

As an example of how they work in practice:

  1. Once per night, update_generation_config creates a PR that updates generation_config.yaml with the latest dependencies and googleapis committish
  2. hermetic_library_generation is triggered by this PR and generates the corresponding code changes. A new commit with the code changes is added to the PR. This step may occur for any PR affecting generation_config.yaml.

Follow ups

  • Add CLOUD_JAVA_BOT_TOKEN to repository for the hermetic generation workflow to work. We confirmed it works in our fork (job link).

@product-auto-label product-auto-label bot added size: l Pull request size is large. api: spanner Issues related to the googleapis/java-spanner API. labels May 28, 2024
@diegomarquezp diegomarquezp marked this pull request as ready for review June 26, 2024 21:27
@diegomarquezp diegomarquezp requested review from a team as code owners June 26, 2024 21:27
@diegomarquezp diegomarquezp requested a review from blakeli0 June 27, 2024 00:38
@rahul2393 rahul2393 added the owlbot:run Add this label to trigger the Owlbot post processor. label Jul 4, 2024
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Jul 4, 2024
@rahul2393 rahul2393 merged commit 94b2a86 into googleapis:main Jul 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: spanner Issues related to the googleapis/java-spanner API. size: l Pull request size is large.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants