Skip to content

Commit 7f9dedb

Browse files
fix: Allow Protobuf 5.x (#12865)
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 649277844 Source-Link: googleapis/googleapis@fd7efa2 Source-Link: googleapis/googleapis-gen@50be251 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWJ1aWxkLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNlcnRpZmljYXRlLW1hbmFnZXIvLk93bEJvdC55YW1sIiwiaCI6IjUwYmUyNTEzMjlkOGRiNWI1NTU2MjZlYmQ0ODg2NzIxZjU0N2QzY2MifQ== Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNoYW5uZWwvLk93bEJvdC55YW1sIiwiaCI6IjUwYmUyNTEzMjlkOGRiNWI1NTU2MjZlYmQ0ODg2NzIxZjU0N2QzY2MifQ== Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNsb3VkY29udHJvbHNwYXJ0bmVyLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNsb3VkcXVvdGFzLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNvbW1lcmNlLWNvbnN1bWVyLXByb2N1cmVtZW50Ly5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNvbmZpZGVudGlhbGNvbXB1dGluZy8uT3dsQm90LnlhbWwiLCJoIjoiNTBiZTI1MTMyOWQ4ZGI1YjU1NTYyNmViZDQ4ODY3MjFmNTQ3ZDNjYyJ9 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNvbmZpZy8uT3dsQm90LnlhbWwiLCJoIjoiNTBiZTI1MTMyOWQ4ZGI1YjU1NTYyNmViZDQ4ODY3MjFmNTQ3ZDNjYyJ9 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNvbnRhY3QtY2VudGVyLWluc2lnaHRzLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNvbnRhaW5lci8uT3dsQm90LnlhbWwiLCJoIjoiNTBiZTI1MTMyOWQ4ZGI1YjU1NTYyNmViZDQ4ODY3MjFmNTQ3ZDNjYyJ9 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNvbnRhaW5lcmFuYWx5c2lzLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNvbnRlbnR3YXJlaG91c2UvLk93bEJvdC55YW1sIiwiaCI6IjUwYmUyNTEzMjlkOGRiNWI1NTU2MjZlYmQ0ODg2NzIxZjU0N2QzY2MifQ== Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGEtZnVzaW9uLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGEtcW5hLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGFjYXRhbG9nLWxpbmVhZ2UvLk93bEJvdC55YW1sIiwiaCI6IjUwYmUyNTEzMjlkOGRiNWI1NTU2MjZlYmQ0ODg2NzIxZjU0N2QzY2MifQ== Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGFjYXRhbG9nLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGFmbG93LWNsaWVudC8uT3dsQm90LnlhbWwiLCJoIjoiNTBiZTI1MTMyOWQ4ZGI1YjU1NTYyNmViZDQ4ODY3MjFmNTQ3ZDNjYyJ9 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGFmb3JtLy5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGFsYWJlbGluZy8uT3dsQm90LnlhbWwiLCJoIjoiNTBiZTI1MTMyOWQ4ZGI1YjU1NTYyNmViZDQ4ODY3MjFmNTQ3ZDNjYyJ9 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGFwbGV4Ly5Pd2xCb3QueWFtbCIsImgiOiI1MGJlMjUxMzI5ZDhkYjViNTU1NjI2ZWJkNDg4NjcyMWY1NDdkM2NjIn0= --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 40e1810 commit 7f9dedb

File tree

313 files changed

+2152
-4202
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

313 files changed

+2152
-4202
lines changed

packages/google-cloud-build/README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Python Client for Cloud Build
1515
.. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-build.svg
1616
:target: https://pypi.org/project/google-cloud-build/
1717
.. _Cloud Build: https://cloud.google.com/cloud-build/docs/
18-
.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/cloudbuild/latest
18+
.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/cloudbuild/latest/summary_overview
1919
.. _Product Documentation: https://cloud.google.com/cloud-build/docs/
2020

2121
Quick Start

packages/google-cloud-build/docs/index.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,8 @@ For a list of all ``google-cloud-build`` releases:
3232
:maxdepth: 2
3333

3434
CHANGELOG
35+
36+
.. toctree::
37+
:hidden:
38+
39+
summary_overview.md
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
[
2+
This is a templated file. Adding content to this file may result in it being
3+
reverted. Instead, if you want to place additional content, create an
4+
"overview_content.md" file in `docs/` directory. The Sphinx tool will
5+
pick up on the content and merge the content.
6+
]: #
7+
8+
# Cloud Build API
9+
10+
Overview of the APIs available for Cloud Build API.
11+
12+
## All entries
13+
14+
Classes, methods and properties & attributes for
15+
Cloud Build API.
16+
17+
[classes](https://cloud.google.com/python/docs/reference/cloudbuild/latest/summary_class.html)
18+
19+
[methods](https://cloud.google.com/python/docs/reference/cloudbuild/latest/summary_method.html)
20+
21+
[properties and
22+
attributes](https://cloud.google.com/python/docs/reference/cloudbuild/latest/summary_property.html)

packages/google-cloud-build/google/cloud/devtools/cloudbuild_v1/services/cloud_build/transports/base.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ def __init__(
8383

8484
# Save the scopes.
8585
self._scopes = scopes
86+
if not hasattr(self, "_ignore_credentials"):
87+
self._ignore_credentials: bool = False
8688

8789
# If no credentials are provided, then determine the appropriate
8890
# defaults.
@@ -95,7 +97,7 @@ def __init__(
9597
credentials, _ = google.auth.load_credentials_from_file(
9698
credentials_file, **scopes_kwargs, quota_project_id=quota_project_id
9799
)
98-
elif credentials is None:
100+
elif credentials is None and not self._ignore_credentials:
99101
credentials, _ = google.auth.default(
100102
**scopes_kwargs, quota_project_id=quota_project_id
101103
)

packages/google-cloud-build/google/cloud/devtools/cloudbuild_v1/services/cloud_build/transports/grpc.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,8 @@ def __init__(
131131

132132
if isinstance(channel, grpc.Channel):
133133
# Ignore credentials if a channel was passed.
134-
credentials = False
134+
credentials = None
135+
self._ignore_credentials = True
135136
# If a channel was explicitly provided, set it.
136137
self._grpc_channel = channel
137138
self._ssl_channel_credentials = None

packages/google-cloud-build/google/cloud/devtools/cloudbuild_v1/services/cloud_build/transports/grpc_asyncio.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ def __init__(
178178

179179
if isinstance(channel, aio.Channel):
180180
# Ignore credentials if a channel was passed.
181-
credentials = False
181+
credentials = None
182+
self._ignore_credentials = True
182183
# If a channel was explicitly provided, set it.
183184
self._grpc_channel = channel
184185
self._ssl_channel_credentials = None

packages/google-cloud-build/google/cloud/devtools/cloudbuild_v2/services/repository_manager/transports/base.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ def __init__(
8585

8686
# Save the scopes.
8787
self._scopes = scopes
88+
if not hasattr(self, "_ignore_credentials"):
89+
self._ignore_credentials: bool = False
8890

8991
# If no credentials are provided, then determine the appropriate
9092
# defaults.
@@ -97,7 +99,7 @@ def __init__(
9799
credentials, _ = google.auth.load_credentials_from_file(
98100
credentials_file, **scopes_kwargs, quota_project_id=quota_project_id
99101
)
100-
elif credentials is None:
102+
elif credentials is None and not self._ignore_credentials:
101103
credentials, _ = google.auth.default(
102104
**scopes_kwargs, quota_project_id=quota_project_id
103105
)

packages/google-cloud-build/google/cloud/devtools/cloudbuild_v2/services/repository_manager/transports/grpc.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ def __init__(
126126

127127
if isinstance(channel, grpc.Channel):
128128
# Ignore credentials if a channel was passed.
129-
credentials = False
129+
credentials = None
130+
self._ignore_credentials = True
130131
# If a channel was explicitly provided, set it.
131132
self._grpc_channel = channel
132133
self._ssl_channel_credentials = None

packages/google-cloud-build/google/cloud/devtools/cloudbuild_v2/services/repository_manager/transports/grpc_asyncio.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,8 @@ def __init__(
173173

174174
if isinstance(channel, aio.Channel):
175175
# Ignore credentials if a channel was passed.
176-
credentials = False
176+
credentials = None
177+
self._ignore_credentials = True
177178
# If a channel was explicitly provided, set it.
178179
self._grpc_channel = channel
179180
self._ssl_channel_credentials = None

packages/google-cloud-build/noxfile.py

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -160,14 +160,28 @@ def install_unittest_dependencies(session, *constraints):
160160
session.install("-e", ".", *constraints)
161161

162162

163-
def default(session):
163+
@nox.session(python=UNIT_TEST_PYTHON_VERSIONS)
164+
@nox.parametrize(
165+
"protobuf_implementation",
166+
["python", "upb", "cpp"],
167+
)
168+
def unit(session, protobuf_implementation):
164169
# Install all test dependencies, then install this package in-place.
165170

171+
if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"):
172+
session.skip("cpp implementation is not supported in python 3.11+")
173+
166174
constraints_path = str(
167175
CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt"
168176
)
169177
install_unittest_dependencies(session, "-c", constraints_path)
170178

179+
# TODO(https://github.com/googleapis/synthtool/issues/1976):
180+
# Remove the 'cpp' implementation once support for Protobuf 3.x is dropped.
181+
# The 'cpp' implementation requires Protobuf<4.
182+
if protobuf_implementation == "cpp":
183+
session.install("protobuf<4")
184+
171185
# Run py.test against the unit tests.
172186
session.run(
173187
"py.test",
@@ -181,15 +195,12 @@ def default(session):
181195
"--cov-fail-under=0",
182196
os.path.join("tests", "unit"),
183197
*session.posargs,
198+
env={
199+
"PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": protobuf_implementation,
200+
},
184201
)
185202

186203

187-
@nox.session(python=UNIT_TEST_PYTHON_VERSIONS)
188-
def unit(session):
189-
"""Run the unit test suite."""
190-
default(session)
191-
192-
193204
def install_systemtest_dependencies(session, *constraints):
194205
# Use pre-release gRPC for system tests.
195206
# Exclude version 1.52.0rc1 which has a known issue.
@@ -358,9 +369,16 @@ def docfx(session):
358369

359370

360371
@nox.session(python="3.12")
361-
def prerelease_deps(session):
372+
@nox.parametrize(
373+
"protobuf_implementation",
374+
["python", "upb", "cpp"],
375+
)
376+
def prerelease_deps(session, protobuf_implementation):
362377
"""Run all tests with prerelease versions of dependencies installed."""
363378

379+
if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"):
380+
session.skip("cpp implementation is not supported in python 3.11+")
381+
364382
# Install all dependencies
365383
session.install("-e", ".[all, tests, tracing]")
366384
unit_deps_all = UNIT_TEST_STANDARD_DEPENDENCIES + UNIT_TEST_EXTERNAL_DEPENDENCIES
@@ -397,9 +415,9 @@ def prerelease_deps(session):
397415
"protobuf",
398416
# dependency of grpc
399417
"six",
418+
"grpc-google-iam-v1",
400419
"googleapis-common-protos",
401-
# Exclude version 1.52.0rc1 which has a known issue. See https://github.com/grpc/grpc/issues/32163
402-
"grpcio!=1.52.0rc1",
420+
"grpcio",
403421
"grpcio-status",
404422
"google-api-core",
405423
"google-auth",
@@ -425,4 +443,10 @@ def prerelease_deps(session):
425443
session.run("python", "-c", "import grpc; print(grpc.__version__)")
426444
session.run("python", "-c", "import google.auth; print(google.auth.__version__)")
427445

428-
session.run("py.test", "tests/unit")
446+
session.run(
447+
"py.test",
448+
"tests/unit",
449+
env={
450+
"PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": protobuf_implementation,
451+
},
452+
)

0 commit comments

Comments
 (0)