Skip to content

chore(spanner): add support for new cloud client test framework in google-cloud-spanner-executor#7593

Merged
alkatrivedi merged 2 commits intomainfrom
executor-framework
Apr 16, 2026
Merged

chore(spanner): add support for new cloud client test framework in google-cloud-spanner-executor#7593
alkatrivedi merged 2 commits intomainfrom
executor-framework

Conversation

@alkatrivedi
Copy link
Copy Markdown
Contributor

@alkatrivedi alkatrivedi commented Mar 12, 2026

This PR is to integrate executor framework in node client for Spanner.

The PR consists of the implementation for :

  • a new gRPC server that registers the executor service and spins up when the main function will get executed
  • server interface of executor service
  • framework helper classes and methods
  • and the admin action CreateCloudInstance

@alkatrivedi alkatrivedi requested a review from a team as a code owner March 12, 2026 07:40
@product-auto-label product-auto-label Bot added the api: spanner Issues related to the Spanner API. label Mar 12, 2026
@alkatrivedi alkatrivedi marked this pull request as draft March 12, 2026 07:40
@alkatrivedi alkatrivedi force-pushed the executor-framework branch 2 times, most recently from 2627ec1 to 337c519 Compare March 12, 2026 07:44
@alkatrivedi alkatrivedi changed the title feat(spanner): worker proxy for executor framework feat(spanner): executor framework Mar 12, 2026
@alkatrivedi alkatrivedi force-pushed the executor-framework branch 17 times, most recently from e41bda4 to df895a5 Compare March 18, 2026 09:44
@alkatrivedi alkatrivedi force-pushed the executor-framework branch 4 times, most recently from 8c34c68 to 9168e0c Compare March 25, 2026 09:09
@alkatrivedi alkatrivedi marked this pull request as ready for review March 25, 2026 09:22
@alkatrivedi alkatrivedi force-pushed the executor-framework branch 5 times, most recently from 119d491 to 4326f31 Compare April 13, 2026 12:34
spanProcessors: [new BatchSpanProcessor(traceExporter as any)],
});

provider.register();
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using global register as our test framework needs to record its own custom trace metrics (like nodejs_systest_execute_actions_stream) to prove to the test platform that requests were received and handled correctly.

because the OpenTelemetry tracing library (@opentelemetry/api) only works if a global provider is set, we must register the provider globally so that these custom test metrics are not ignored.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While its ok to use global register, this comment is not correct.
the OpenTelemetry tracing library (@opentelemetry/api) only works if a global provider is set - > Traces can be recorded with both global provider and local, you can pass the provider to the test framework to record your custom metrics.

Its ok to use global provider for now

@alkatrivedi alkatrivedi force-pushed the executor-framework branch 2 times, most recently from 25def99 to 46e12fa Compare April 13, 2026 13:37
Comment thread handwritten/spanner/google-cloud-spanner-executor/src/cloud-util.ts Outdated
public static openTelemetrySdk: any;

public static readonly PROJECT_ID = 'spanner-cloud-systest';
public static readonly CLOUD_TRACE_ENDPOINT =
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove unused references

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its not unused, it is being used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread handwritten/spanner/google-cloud-spanner-executor/src/cloud-util.ts
@surbhigarg92
Copy link
Copy Markdown
Contributor

Lets rename the title of PR as chore instead of feat. Its not a feature available for customers

@alkatrivedi alkatrivedi changed the title feat(spanner): add support for new cloud client test framework in google-cloud-spanner-executor chore(spanner): add support for new cloud client test framework in google-cloud-spanner-executor Apr 15, 2026
@alkatrivedi
Copy link
Copy Markdown
Contributor Author

Lets rename the title of PR as chore instead of feat. Its not a feature available for customers

changes the title, however in java we have the title as feat

@surbhigarg92
Copy link
Copy Markdown
Contributor

Lets rename the title of PR as chore instead of feat. Its not a feature available for customers

changes the title, however in java we have the title as feat

Its ok. Lets keep it chore

Comment thread handwritten/spanner/google-cloud-spanner-executor/src/cloud-util.ts
@alkatrivedi alkatrivedi removed the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Apr 15, 2026
@alkatrivedi alkatrivedi added the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 16, 2026
@gcf-owl-bot gcf-owl-bot Bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Apr 16, 2026
@alkatrivedi alkatrivedi merged commit ff633d5 into main Apr 16, 2026
36 checks passed
@alkatrivedi alkatrivedi deleted the executor-framework branch April 16, 2026 10:31
@shivanee-p shivanee-p added the release-please:force-run To run release-please label Apr 20, 2026
@release-please release-please Bot removed the release-please:force-run To run release-please label Apr 20, 2026
pearigee added a commit that referenced this pull request Apr 20, 2026
…owners (#8085)

* chore: [Many APIs] migrate generator to google-cloud-node (#7992)

* chore: migrate generator to google-cloud-node
chore: update generator system tests

PiperOrigin-RevId: 896174961

Source-Link: googleapis/googleapis@2233f63

Source-Link: googleapis/googleapis-gen@c4a8c4e
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LWFjY291bnRzLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LWNvbnZlcnNpb25zLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LWRhdGFzb3VyY2VzLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LWludmVudG9yaWVzLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LWlzc3VlcmVzb2x1dGlvbi8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LWxmcC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LW5vdGlmaWNhdGlvbnMvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LW9yZGVydHJhY2tpbmcvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LXByb2R1Y3RzLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LXByb21vdGlvbnMvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LXF1b3RhLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LXJlcG9ydHMvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LXJldmlld3MvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXN0b3JhZ2V0cmFuc2Zlci8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXN0cmVldHZpZXctcHVibGlzaC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Shivanee <46910562+shivanee-p@users.noreply.github.com>
Co-authored-by: Gabe Pearhill <86282859+pearigee@users.noreply.github.com>

* feat: [bigquery-reservation] add principal field to BigQuery Reservation Assignment (#8042)

* feat: add principal field to BigQuery Reservation Assignment
docs: update the scaling mode documentation to correct an example math error

PiperOrigin-RevId: 899158032

Source-Link: googleapis/googleapis@a5bd611

Source-Link: googleapis/googleapis-gen@2bef3db
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWJpZ3F1ZXJ5LXJlc2VydmF0aW9uLy5Pd2xCb3QueWFtbCIsImgiOiIyYmVmM2RiYzY3OGRhZTVhODE4MDZhNzRiN2NkNjUwNDM2MDBjYmUwIn0=

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* feat: [vectorsearch] Added CMEK support (#8033)

* feat: Added CMEK support
feat: Added UpdateIndex support
docs: Updated documentation for listing locations
docs: Updated documentation for Collection.data_schema

PiperOrigin-RevId: 898465628

Source-Link: googleapis/googleapis@8d0f6d8

Source-Link: googleapis/googleapis-gen@1965238
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXZlY3RvcnNlYXJjaC8uT3dsQm90LnlhbWwiLCJoIjoiMTk2NTIzODUzM2NmY2UzYjk5ZDQxMzg4ZTllMTlkZDIyYzM0OTBlMCJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat: Added CMEK support
feat: Added UpdateIndex support
docs: Updated documentation for listing locations
docs: Updated documentation for Collection.data_schema

PiperOrigin-RevId: 898990233

Source-Link: googleapis/googleapis@38ed7d6

Source-Link: googleapis/googleapis-gen@492368c
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXZlY3RvcnNlYXJjaC8uT3dsQm90LnlhbWwiLCJoIjoiNDkyMzY4Y2IzMWEwNzc3NzM3ZjE5NDMwNDJjM2I4NjBhYmZmN2JhMSJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* chore: [Many APIs] migrate generator to google-cloud-node (#7988)

* chore: migrate generator to google-cloud-node
chore: update generator system tests

PiperOrigin-RevId: 896174961

Source-Link: googleapis/googleapis@2233f63

Source-Link: googleapis/googleapis-gen@c4a8c4e
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW5ldHdvcmttYW5hZ2VtZW50Ly5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW5ldHdvcmtzZWN1cml0eS8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW5ldHdvcmtzZXJ2aWNlcy8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW5vdGVib29rcy8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW9yYWNsZWRhdGFiYXNlLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW9yY2hlc3RyYXRpb24tYWlyZmxvdy1zZXJ2aWNlLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW9yZ3BvbGljeS8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW9zY29uZmlnLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW9zbG9naW4vLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXBhcmFsbGVsc3RvcmUvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXBhcmFtZXRlcm1hbmFnZXIvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXBoaXNoaW5ncHJvdGVjdGlvbi8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXBvbGljeXNpbXVsYXRvci8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXBvbGljeXRyb3VibGVzaG9vdGVyLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXByaXZhdGVjYXRhbG9nLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXByaXZpbGVnZWRhY2Nlc3NtYW5hZ2VyLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJhcGlkbWlncmF0aW9uYXNzZXNzbWVudC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJlY2FwdGNoYWVudGVycHJpc2UvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJlY29tbWVuZGVyLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJlZGlzLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Shivanee <46910562+shivanee-p@users.noreply.github.com>

* chore: release main (#8005)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* feat: [chronicle] Add DataTableService to Chronicle v1 Client Libraries (#8035)

* feat: Add DataTableService to Chronicle v1 Client Libraries

PiperOrigin-RevId: 898791366

Source-Link: googleapis/googleapis@e182cf5

Source-Link: googleapis/googleapis-gen@dab413d
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNocm9uaWNsZS8uT3dsQm90LnlhbWwiLCJoIjoiZGFiNDEzZDQzYmQ0NzUzODZiMzc1ZDdkY2EzMTY5Y2IwNjNkY2Q4ZCJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Gabe Pearhill <86282859+pearigee@users.noreply.github.com>

* feat: [discoveryengine] add AUTO condition to SearchAsYouTypeSpec in v1alpha and v1beta (#8032)

* feat: add AUTO condition to SearchAsYouTypeSpec in v1alpha and v1beta

PiperOrigin-RevId: 897859462

Source-Link: googleapis/googleapis@f01ba6b

Source-Link: googleapis/googleapis-gen@f16c389
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRpc2NvdmVyeWVuZ2luZS8uT3dsQm90LnlhbWwiLCJoIjoiZjE2YzM4OWQ0Njg2NGNiY2FkOGVlMjliNDdhNzk5MjE4OTRlNjI0NCJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* feat: [merchantapi] a new field `base64_encoded_name` is added to the `Product` message (#7997)

* feat: a new field `base64_encoded_name` is added to the `Product` message
feat: new fields - `base64_encoded_name` and `base64_encoded_product` added to the `ProductInput` message
docs: A comment for field `name` in message `.google.shopping.merchant.products.v1.ProductInput` is changed
docs: A comment for field `name` in message `.google.shopping.merchant.products.v1.Product` is changed

PiperOrigin-RevId: 896968813

Source-Link: googleapis/googleapis@2aba484

Source-Link: googleapis/googleapis-gen@820077f
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LXByb2R1Y3RzLy5Pd2xCb3QueWFtbCIsImgiOiI4MjAwNzdmOGY5ZDdkZGUwZGEyYzA3MTk3MjA2OGVlOWM1NzQyMWE4In0=

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Gabe Pearhill <86282859+pearigee@users.noreply.github.com>

* chore: [Many APIs] migrate generator to google-cloud-node (#7989)

* chore: migrate generator to google-cloud-node
chore: update generator system tests

PiperOrigin-RevId: 896174961

Source-Link: googleapis/googleapis@2233f63

Source-Link: googleapis/googleapis-gen@c4a8c4e
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJlc291cmNlbWFuYWdlci8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJldGFpbC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJ1bi8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNhYXNwbGF0Zm9ybS1zYWFzc2VydmljZW1nbXQvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNjaGVkdWxlci8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNlY3JldG1hbmFnZXIvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNlY3VyZXNvdXJjZW1hbmFnZXIvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNlY3VyaXR5LXByaXZhdGVjYS8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNlY3VyaXR5LXB1YmxpY2NhLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNlY3VyaXR5Y2VudGVyLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNlY3VyaXR5Y2VudGVybWFuYWdlbWVudC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNlcnZpY2VkaXJlY3RvcnkvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNlcnZpY2VoZWFsdGgvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNoZWxsLy5Pd2xCb3QueWFtbCIsImgiOiJjNGE4YzRlZWY5NTlhYTc0NGZiMWM2NzE0ODc1ZmEyOTVlMDZhYWQzIn0=
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNwZWVjaC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNxbC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXN0b3JhZ2ViYXRjaG9wZXJhdGlvbnMvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXN0b3JhZ2VpbnNpZ2h0cy8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXN1cHBvcnQvLk93bEJvdC55YW1sIiwiaCI6ImM0YThjNGVlZjk1OWFhNzQ0ZmIxYzY3MTQ4NzVmYTI5NWUwNmFhZDMifQ==
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXRhbGVudC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Shivanee <46910562+shivanee-p@users.noreply.github.com>

* feat: [kms] support external-μ in the Digest (#8014)

* feat: add a variable to SingleTenantHsmInstanceCreate to control whether future key portability features will be usable on the instance

PiperOrigin-RevId: 897676455

Source-Link: googleapis/googleapis@bc600b8

Source-Link: googleapis/googleapis-gen@85de368
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWttcy8uT3dsQm90LnlhbWwiLCJoIjoiODVkZTM2ODIxNjUyMDQ1YjM5ZTUyNzlhNDJiYmIzMmZhMjdkYWI4MSJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat: support external-μ in the Digest

PiperOrigin-RevId: 897686352

Source-Link: googleapis/googleapis@7fbf256

Source-Link: googleapis/googleapis-gen@333010d
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWttcy8uT3dsQm90LnlhbWwiLCJoIjoiMzMzMDEwZGI2ZjQwMDE5MTRiMDEzYWU1NjliMzQxOWViNzdmZDFlMSJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Gabe Pearhill <86282859+pearigee@users.noreply.github.com>

* chore(main): release bigquery 8.3.0 (#7900)

:robot: I have created a release *beep* *boop*
---


## [8.3.0](https://togithub.com/googleapis/google-cloud-node/compare/bigquery-v8.2.0...bigquery-v8.3.0) (2026-04-09)


### Features

* **bigquery:** Allow the user to ask for skipping parsing rows when querying ([#7848](https://togithub.com/googleapis/google-cloud-node/issues/7848)) ([e500d40](https://togithub.com/googleapis/google-cloud-node/commit/e500d4077065529fbdee4be565434a34b6643c09))


### Bug Fixes

* Unblock the releases on Node Bigquery ([#7946](https://togithub.com/googleapis/google-cloud-node/issues/7946)) ([7fad2f6](https://togithub.com/googleapis/google-cloud-node/commit/7fad2f6e2ef0b16ab87a92ae471136fe6f2655ef))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).

* chore: [control] migrate generator to google-cloud-node (#7967)

- [ ] Regenerate this pull request now.

chore: update generator system tests

PiperOrigin-RevId: 896174961

Source-Link: https://togithub.com/googleapis/googleapis/commit/2233f63baf69c2a481f30180045fcf036242781d

Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/c4a8c4eef959aa744fb1c6714875fa295e06aad3
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXN0b3JhZ2UtY29udHJvbC8uT3dsQm90LnlhbWwiLCJoIjoiYzRhOGM0ZWVmOTU5YWE3NDRmYjFjNjcxNDg3NWZhMjk1ZTA2YWFkMyJ9

BEGIN_NESTED_COMMIT
feat: [control] populate the `persisted_data_checksums` field with object checksums on write object / query write status responses
docs: improve wording around `object_checksums` in bidi write object requests

PiperOrigin-RevId: 895357062

Source-Link: https://togithub.com/googleapis/googleapis/commit/d73dfb3c3be52245625b951b9c0bcf65163c549f

Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/7e7398240bfa0cf54d7042169fe14afb9a77ac64
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXN0b3JhZ2UtY29udHJvbC8uT3dsQm90LnlhbWwiLCJoIjoiN2U3Mzk4MjQwYmZhMGNmNTRkNzA0MjE2OWZlMTRhZmI5YTc3YWM2NCJ9
END_NESTED_COMMIT

* feat: [dataproc] Add `Engine` field to support LightningEngine in clusters and add support for stop ttl (#8008)

* feat: Add `Engine` field to support LightningEngine in clusters and add support for stop ttl

PiperOrigin-RevId: 897294662

Source-Link: googleapis/googleapis@2da8658

Source-Link: googleapis/googleapis-gen@ef2d7de
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGFwcm9jLy5Pd2xCb3QueWFtbCIsImgiOiJlZjJkN2RlNDUzYjIyOWY5ZmE4NTY4ZjkwMDk5OTg0YjcxMTViOGM4In0=

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Shivanee <46910562+shivanee-p@users.noreply.github.com>

* feat: [analytics-admin] add UserProvidedDataSettings resource and GetUserProvidedDataSettings RPC to Google Analytics (#8049)

- [ ] Regenerate this pull request now.

chore: update resource name fields to use IDENTIFIER field behavior across Google Analytics resources
chore: add plural and singular names to google.api.resource definitions for Google Analytics resources
chore: mark page_size and page_token fields as OPTIONAL in Google Analytics list request messages
chore: update OAuth scopes for GetUserProvidedDataSettings and GetSubpropertySyncConfig in Google Analytics
docs: update documentation for GetReportingIdentitySettings to correctly describe it as returning reporting identity settings in Google Analytics
docs: update copyright year to 2026 in Google Analytics proto files

PiperOrigin-RevId: 899639582

Source-Link: https://togithub.com/googleapis/googleapis/commit/fc968708d27f9aeb9f1c50a3e32d53810df843fd

Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/a4aa3a09be8b07588de5591432d9131726d3909a
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWFuYWx5dGljcy1hZG1pbi8uT3dsQm90LnlhbWwiLCJoIjoiYTRhYTNhMDliZThiMDc1ODhkZTU1OTE0MzJkOTEzMTcyNmQzOTA5YSJ9

* feat: [ces] Add ability to specify mocked tool responses in ExecuteTool (#8051)

* feat: Add ability to specify mocked tool responses in ExecuteTool
feat: Add ExportEvaluation RPC
feat: Add support for app level fallback config
feat: Add evaluation run and result information to ImportEvaluationsResponse

PiperOrigin-RevId: 899708731

Source-Link: googleapis/googleapis@3035633

Source-Link: googleapis/googleapis-gen@b4d5ff9
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNlcy8uT3dsQm90LnlhbWwiLCJoIjoiYjRkNWZmOWNkMWIzNjZmYTM3ZTU1NDNkMTI3YjUxYjc0MDJhY2IxMiJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* docs: [saasservicemgmt] rebrand from "SaaS Runtime" to "App Lifecycle Manager" (#8047)

* docs: rebrand from "SaaS Runtime" to "App Lifecycle Manager"

PiperOrigin-RevId: 899527956

Source-Link: googleapis/googleapis@96b171f

Source-Link: googleapis/googleapis-gen@0ce27db
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXNhYXNwbGF0Zm9ybS1zYWFzc2VydmljZW1nbXQvLk93bEJvdC55YW1sIiwiaCI6IjBjZTI3ZGJiNzUxNWM1Yzk3NzVjODkzNjcxZWZmNThjMDQxYzdhOWMifQ==

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: danieljbruce <danieljbruce@users.noreply.github.com>

* build: pin packages to sinon 21.0.3 for now to dodge a build error (#8053)

* build: pin sinon version in gax

* build: pin packages to sinon 21.0.3 for now to dodge a build error

* feat: [hypercomputecluster] Sync stable version (#8056)

* feat: Sync stable version
fix!: Sync stable version
docs: sync stable version

PiperOrigin-RevId: 899788822

Source-Link: googleapis/googleapis@bf85cad

Source-Link: googleapis/googleapis-gen@c9e2df2
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWh5cGVyY29tcHV0ZWNsdXN0ZXIvLk93bEJvdC55YW1sIiwiaCI6ImM5ZTJkZjJkYWMwOTJmYzUwMDNkZThkOTU3N2QwMjc1NzUwMGYzZjIifQ==

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* chore(spanner): add support for new cloud client test framework in google-cloud-spanner-executor (#7593)

* chore(spanner): add support for new cloud client test framework in google-cloud-spanner-executor

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* fix(bigquery): run npm run types in correct directory in owlbot (#8061)

* fix(bigquery): run npm run types in correct directory in owlbot

* Add npm install to the script

* chore(test-release-please-spanner): release spanner 8.7.0 (#8054)

* fix(spanner): trigger release

* chore: isolate Spanner and increase search depth for testing

* chore: reduce batch size to avoid 502 error

* chore(test-release-please-spanner): release spanner 8.7.0

* chore: restore all packages and apply search limits

* fix(spanner): getTransaction type with options, cb (#8045)

* fix(spanner): getTransaction type with options, cb

* test(spanner): add test for getTransaction options cb

* test(spanner): add assert non error on get tx with cb

Co-authored-by: alkatrivedi <58396306+alkatrivedi@users.noreply.github.com>

---------

Co-authored-by: alkatrivedi <58396306+alkatrivedi@users.noreply.github.com>

* chore(storage-control): add stripInternal setting to tsconfig (#8057)

* fix: Do not publish the protos to npm (#8079)

## Description

This change solves https://togithub.com/googleapis/librarian/issues/4820 and ensures that the .proto files don't get published to npm.

## Impact

This just cleans up the built packages. It will make customer dependencies smaller which could improve the performance of their applications by shrinking their node_modules folders.

## Testing

Only package.json files are modified in this change so tests against the source code aren't really required here.

* chore(firestore): rename named-db to enterprise (#8083)

* chore: set the aion-team as code owners on google-auth-library-nodejs (#8084)

* chore: set the aion-team as code owners on google-auth-library-nodejs so they can be set as reviewers

* add new line in response to gemini code review

---------

Co-authored-by: gcf-owl-bot[bot] <78513119+gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Shivanee <46910562+shivanee-p@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: danieljbruce <danieljbruce@users.noreply.github.com>
Co-authored-by: feywind <57276408+feywind@users.noreply.github.com>
Co-authored-by: alkatrivedi <58396306+alkatrivedi@users.noreply.github.com>
Co-authored-by: Gautam Sharda <57648023+GautamSharda@users.noreply.github.com>
Co-authored-by: Jan Vincent Liwanag <jvliwanag@gmail.com>
Co-authored-by: Denis DelGrosso <85250797+ddelgrosso1@users.noreply.github.com>
Co-authored-by: wu-hui <53845758+wu-hui@users.noreply.github.com>
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 Spanner API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants