From 1f851ec66c34ba9b932e6a0b79b4ed2b9a80b454 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Thu, 25 Jun 2026 14:53:45 +0000 Subject: [PATCH 1/2] chore: regenerate google-cloud-compute --- .release-please-bulk-manifest.json | 1 + .release-please-individual-manifest.json | 1 - librarian.yaml | 2 -- .../google/cloud/compute_v1/__init__.py | 8 ++++---- packages/google-cloud-compute/setup.py | 12 +++++++----- .../testing/constraints-3.10.txt | 6 +++--- .../testing/constraints-3.13.txt | 2 +- .../testing/constraints-3.14.txt | 2 +- release-please-bulk-config.json | 12 ++++++++++++ release-please-individual-config.json | 12 ------------ 10 files changed, 29 insertions(+), 29 deletions(-) diff --git a/.release-please-bulk-manifest.json b/.release-please-bulk-manifest.json index fabe44cb47af..5ee4d8068f52 100644 --- a/.release-please-bulk-manifest.json +++ b/.release-please-bulk-manifest.json @@ -77,6 +77,7 @@ "packages/google-cloud-cloudsecuritycompliance": "0.8.0", "packages/google-cloud-commerce-consumer-procurement": "0.6.0", "packages/google-cloud-common": "1.10.0", + "packages/google-cloud-compute": "1.48.0", "packages/google-cloud-compute-v1beta": "0.12.0", "packages/google-cloud-confidentialcomputing": "0.11.0", "packages/google-cloud-config": "0.7.0", diff --git a/.release-please-individual-manifest.json b/.release-please-individual-manifest.json index 0f5ab7b0ed7e..a1c437c8ac7d 100644 --- a/.release-please-individual-manifest.json +++ b/.release-please-individual-manifest.json @@ -1,7 +1,6 @@ { "packages/bigframes": "2.43.0", "packages/google-cloud-bigtable": "2.39.0", - "packages/google-cloud-compute": "1.48.0", "packages/google-cloud-firestore": "2.27.0", "packages/google-cloud-spanner": "3.68.0", "packages/google-crc32c": "1.8.0", diff --git a/librarian.yaml b/librarian.yaml index eb38359a0aa8..1d61bb211dd3 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -764,8 +764,6 @@ libraries: version: 1.48.0 apis: - path: google/cloud/compute/v1 - skip_generate: true - skip_release: true python: metadata_name_override: compute default_version: v1 diff --git a/packages/google-cloud-compute/google/cloud/compute_v1/__init__.py b/packages/google-cloud-compute/google/cloud/compute_v1/__init__.py index 79e76a65d034..f66c8a775ee4 100644 --- a/packages/google-cloud-compute/google/cloud/compute_v1/__init__.py +++ b/packages/google-cloud-compute/google/cloud/compute_v1/__init__.py @@ -2183,7 +2183,7 @@ def parse_version_to_tuple(version_string: str): """Safely converts a semantic version string to a comparable tuple of integers. - Example: "4.25.8" -> (4, 25, 8) + Example: "6.33.5" -> (6, 33, 5) Ignores non-numeric parts and handles common version formats. Args: version_string: Version string in the format "x.y.z" or "x.y.z" @@ -2212,9 +2212,9 @@ def _get_version(dependency_name): return (None, "--") _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" + _next_supported_version = "6.33.5" + _next_supported_version_tuple = (6, 33, 5) + _recommendation = " (we recommend 7.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn( diff --git a/packages/google-cloud-compute/setup.py b/packages/google-cloud-compute/setup.py index 3cf505112844..7726d6d12e62 100644 --- a/packages/google-cloud-compute/setup.py +++ b/packages/google-cloud-compute/setup.py @@ -29,7 +29,10 @@ version = None with open(os.path.join(package_root, "google/cloud/compute/gapic_version.py")) as fp: - version_candidates = re.findall(r"(?<=\")\d+.\d+.\d+(?=\")", fp.read()) + version_candidates = re.findall( + r"(?<=\")\d+\.\d+\.\d+[^\"\s]*(?=\")", + fp.read(), + ) assert len(version_candidates) == 1 version = version_candidates[0] @@ -39,15 +42,14 @@ release_status = "Development Status :: 5 - Production/Stable" dependencies = [ - "google-api-core[grpc] >= 2.17.1, <3.0.0", + "google-api-core[grpc] >= 2.24.2, <3.0.0", # Exclude incompatible versions of `google-auth` # See https://github.com/googleapis/google-cloud-python/issues/12364 "google-auth >= 2.14.1, <3.0.0,!=2.24.0,!=2.25.0", "grpcio >= 1.59.0, < 2.0.0", "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", - "proto-plus >= 1.22.3, <2.0.0", - "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", - "protobuf >= 4.25.8, < 8.0.0", + "proto-plus >= 1.26.1, <2.0.0", + "protobuf >= 6.33.5, < 8.0.0", ] extras = {} url = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-compute" diff --git a/packages/google-cloud-compute/testing/constraints-3.10.txt b/packages/google-cloud-compute/testing/constraints-3.10.txt index 7be9c36933fc..81605a716d32 100644 --- a/packages/google-cloud-compute/testing/constraints-3.10.txt +++ b/packages/google-cloud-compute/testing/constraints-3.10.txt @@ -4,8 +4,8 @@ # pinning their versions to their lower bounds. # For example, if setup.py has "google-cloud-foo >= 1.14.0, < 2.0.0", # then this file should have google-cloud-foo==1.14.0 -google-api-core==2.17.1 +google-api-core==2.24.2 google-auth==2.14.1 grpcio==1.59.0 -proto-plus==1.22.3 -protobuf==4.25.8 +proto-plus==1.26.1 +protobuf==6.33.5 diff --git a/packages/google-cloud-compute/testing/constraints-3.13.txt b/packages/google-cloud-compute/testing/constraints-3.13.txt index 1e93c60e50aa..6bd7e1f5b03d 100644 --- a/packages/google-cloud-compute/testing/constraints-3.13.txt +++ b/packages/google-cloud-compute/testing/constraints-3.13.txt @@ -9,4 +9,4 @@ google-api-core>=2 google-auth>=2 grpcio>=1 proto-plus>=1 -protobuf>=6 +protobuf>=7 diff --git a/packages/google-cloud-compute/testing/constraints-3.14.txt b/packages/google-cloud-compute/testing/constraints-3.14.txt index 1e93c60e50aa..6bd7e1f5b03d 100644 --- a/packages/google-cloud-compute/testing/constraints-3.14.txt +++ b/packages/google-cloud-compute/testing/constraints-3.14.txt @@ -9,4 +9,4 @@ google-api-core>=2 google-auth>=2 grpcio>=1 proto-plus>=1 -protobuf>=6 +protobuf>=7 diff --git a/release-please-bulk-config.json b/release-please-bulk-config.json index c8e66cb251b1..4b45d382ca38 100644 --- a/release-please-bulk-config.json +++ b/release-please-bulk-config.json @@ -981,6 +981,18 @@ "google/cloud/common/gapic_version.py" ] }, + "packages/google-cloud-compute": { + "component": "google-cloud-compute", + "extra-files": [ + "google/cloud/compute/gapic_version.py", + "google/cloud/compute_v1/gapic_version.py", + { + "jsonpath": "$.clientLibrary.version", + "path": "samples/generated_samples/snippet_metadata_google.cloud.compute.v1.json", + "type": "json" + } + ] + }, "packages/google-cloud-compute-v1beta": { "component": "google-cloud-compute-v1beta", "extra-files": [ diff --git a/release-please-individual-config.json b/release-please-individual-config.json index 2d6e68f7402a..2e4132c1243a 100644 --- a/release-please-individual-config.json +++ b/release-please-individual-config.json @@ -19,18 +19,6 @@ } ] }, - "packages/google-cloud-compute": { - "component": "google-cloud-compute", - "extra-files": [ - "google/cloud/compute/gapic_version.py", - "google/cloud/compute_v1/gapic_version.py", - { - "jsonpath": "$.clientLibrary.version", - "path": "samples/generated_samples/snippet_metadata_google.cloud.compute.v1.json", - "type": "json" - } - ] - }, "packages/google-cloud-firestore": { "component": "google-cloud-firestore", "extra-files": [ From 8af791a55622201cd007cf84eace3531dcb35828 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Thu, 25 Jun 2026 16:14:00 +0000 Subject: [PATCH 2/2] optimize system tests --- .../google-cloud-compute/tests/system/base.py | 43 ++++++++++--------- .../tests/system/test_pagination.py | 2 +- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/packages/google-cloud-compute/tests/system/base.py b/packages/google-cloud-compute/tests/system/base.py index e88d6237599e..cd8c4cc46ed0 100644 --- a/packages/google-cloud-compute/tests/system/base.py +++ b/packages/google-cloud-compute/tests/system/base.py @@ -50,34 +50,35 @@ def get_unique_name(placeholder=""): def wait_for_zonal_operation(self, operation): client = ZoneOperationsClient() - result = client.wait( - operation=operation, zone=self.DEFAULT_ZONE, project=self.DEFAULT_PROJECT - ) - if result.error: - self.fail("Zonal operation {} has errors".format(operation)) - op = client.get( - operation=operation, zone=self.DEFAULT_ZONE, project=self.DEFAULT_PROJECT - ) - # this is a workaround, some operations take up to 3 min, currently we cant set timeout for wait() - if op.status != Operation.Status.DONE: - client.wait( + while True: + op = client.wait( operation=operation, zone=self.DEFAULT_ZONE, project=self.DEFAULT_PROJECT, ) + if op.status == Operation.Status.DONE: + if op.error: + self.fail("Zonal operation {} has errors".format(operation)) + break def wait_for_regional_operation(self, operation): client = RegionOperationsClient() - result = client.wait( - operation=operation, - region=self.DEFAULT_REGION, - project=self.DEFAULT_PROJECT, - ) - if result.error: - self.fail("Region operation {} has errors".format(operation)) + while True: + op = client.wait( + operation=operation, + region=self.DEFAULT_REGION, + project=self.DEFAULT_PROJECT, + ) + if op.status == Operation.Status.DONE: + if op.error: + self.fail("Region operation {} has errors".format(operation)) + break def wait_for_global_operation(self, operation): client = GlobalOperationsClient() - result = client.wait(operation=operation, project=self.DEFAULT_PROJECT) - if result.error: - self.fail("Global operation {} has errors".format(operation)) + while True: + op = client.wait(operation=operation, project=self.DEFAULT_PROJECT) + if op.status == Operation.Status.DONE: + if op.error: + self.fail("Global operation {} has errors".format(operation)) + break diff --git a/packages/google-cloud-compute/tests/system/test_pagination.py b/packages/google-cloud-compute/tests/system/test_pagination.py index de5fe77df775..9adf71df995c 100644 --- a/packages/google-cloud-compute/tests/system/test_pagination.py +++ b/packages/google-cloud-compute/tests/system/test_pagination.py @@ -81,7 +81,7 @@ def setUp(self) -> None: def test_auto_paging_map_response(self): client = AcceleratorTypesClient() request = AggregatedListAcceleratorTypesRequest( - project=self.DEFAULT_PROJECT, max_results=3 + project=self.DEFAULT_PROJECT, max_results=100 ) result = client.aggregated_list(request=request) zone_acc_types = collections.defaultdict(list)