Skip to content

Commit fd16c22

Browse files
authored
feat(cloudbuild): add v2 service (#11079)
1 parent 9746980 commit fd16c22

37 files changed

Lines changed: 4924 additions & 4 deletions

.typos.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ extend-exclude = [
99
# The source proto files have one or more typos in their comments
1010
"google/cloud/asset/v1/asset_client.h",
1111
"google/cloud/channel/v1/cloud_channel_client.h",
12+
"google/cloud/cloudbuild/v2/repository_manager_client.h",
1213
"google/cloud/gameservices/v1/game_server_deployments_client.h",
1314
"google/cloud/managedidentities/v1/managed_identities_client.h",
1415
"google/cloud/monitoring/v3/uptime_check_client.h",

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ info, see [#7463] and [#5976].
121121

122122
## v2.9.0 - TBD
123123

124+
### [Cloud Build](/google/cloud/cloudbuild/README.md)
125+
126+
The library has been expanded to include the Cloud Build repositories (2nd gen)
127+
API. Note that the client is tagged as experimental, because the service is
128+
still in [preview][product-launch-stages].
129+
124130
### Testing
125131

126132
We have stopped testing with MSVC 2017. Microsoft stopped mainstream support for
@@ -3476,6 +3482,7 @@ releases. The relevant notes are:
34763482
[modern-table-ctor]: https://github.com/googleapis/google-cloud-cpp/blob/62740c8e9180056db77d4dd3e80a6fa7ae71295a/google/cloud/bigtable/table.h#L182-L214
34773483
[nlohmann-json-gh]: https://github.com/nlohmann/json.git
34783484
[oss-cxx-support]: https://opensource.google/documentation/policies/cplusplus-support
3485+
[product-launch-stages]: https://cloud.google.com/products/#product-launch-stages
34793486
[pub/sub lite]: /google/cloud/pubsublite/README.md
34803487
[resource-types-with-policies]: https://cloud.google.com/iam/docs/resource-types-with-policies
34813488
[secret manager]: /google/cloud/secretmanager/README.md

ci/etc/expected_install_directories

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,9 @@
174174
./include/google/cloud/cloudbuild/v1
175175
./include/google/cloud/cloudbuild/v1/internal
176176
./include/google/cloud/cloudbuild/v1/mocks
177+
./include/google/cloud/cloudbuild/v2
178+
./include/google/cloud/cloudbuild/v2/internal
179+
./include/google/cloud/cloudbuild/v2/mocks
177180
./include/google/cloud/clouddms
178181
./include/google/cloud/clouddms/v1
179182
./include/google/cloud/composer
@@ -627,6 +630,7 @@
627630
./include/google/devtools/artifactregistry/v1
628631
./include/google/devtools/cloudbuild
629632
./include/google/devtools/cloudbuild/v1
633+
./include/google/devtools/cloudbuild/v2
630634
./include/google/devtools/clouddebugger
631635
./include/google/devtools/clouddebugger/v2
632636
./include/google/devtools/cloudprofiler
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
@com_google_googleapis//google/devtools/cloudbuild/v1:cloudbuild.proto
2+
@com_google_googleapis//google/devtools/cloudbuild/v2:cloudbuild.proto
3+
@com_google_googleapis//google/devtools/cloudbuild/v2:repositories.proto

external/googleapis/update_libraries.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,11 @@ declare -A -r LIBRARIES=(
7777
"@com_google_googleapis//google/cloud/certificatemanager/v1:certificatemanager_cc_grpc"
7878
)"
7979
["channel"]="@com_google_googleapis//google/cloud/channel/v1:channel_cc_grpc"
80-
["cloudbuild"]="@com_google_googleapis//google/devtools/cloudbuild/v1:cloudbuild_cc_grpc"
80+
["cloudbuild"]="$(
81+
printf ",%s" \
82+
"@com_google_googleapis//google/devtools/cloudbuild/v1:cloudbuild_cc_grpc" \
83+
"@com_google_googleapis//google/devtools/cloudbuild/v2:cloudbuild_cc_grpc"
84+
)"
8185
["common"]="@com_google_googleapis//google/cloud/common:common_cc_grpc"
8286
["composer"]="@com_google_googleapis//google/cloud/orchestration/airflow/service/v1:service_cc_grpc"
8387
["connectors"]="@com_google_googleapis//google/cloud/connectors/v1:connectors_cc_grpc"

generator/generator_config.textproto

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,16 @@ service {
381381
retryable_status_codes: ["kUnavailable"]
382382
}
383383
384+
service {
385+
service_proto_path: "google/devtools/cloudbuild/v2/repositories.proto"
386+
additional_proto_files: ["google/devtools/cloudbuild/v2/cloudbuild.proto"]
387+
product_path: "google/cloud/cloudbuild/v2"
388+
initial_copyright_year: "2023"
389+
retryable_status_codes: ["kUnavailable"]
390+
# TODO(#11077): Remove experimental when service goes GA.
391+
experimental: true
392+
}
393+
384394
# Cloud Channel
385395
service {
386396
service_proto_path: "google/cloud/channel/v1/service.proto"
@@ -519,7 +529,7 @@ service {
519529
product_path: "google/cloud/datacatalog/lineage/v1"
520530
initial_copyright_year: "2023"
521531
retryable_status_codes: ["kUnavailable"]
522-
#TODO(#10976): Remove experimental when service goes GA.
532+
# TODO(#10976): Remove experimental when service goes GA.
523533
experimental: true
524534
}
525535
@@ -1665,7 +1675,7 @@ service {
16651675
product_path: "google/cloud/speech/v2"
16661676
initial_copyright_year: "2022"
16671677
retryable_status_codes: ["kUnavailable"]
1668-
#TODO(#10264): Remove experimental when service goes GA.
1678+
# TODO(#10264): Remove experimental when service goes GA.
16691679
experimental: true
16701680
}
16711681

google/cloud/cloudbuild/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ licenses(["notice"]) # Apache 2.0
1919
service_dirs = [
2020
"",
2121
"v1/",
22+
"v2/",
2223
]
2324

2425
src_dirs = service_dirs + [d + "internal/" for d in service_dirs]
@@ -47,6 +48,7 @@ cc_library(
4748
"//:common",
4849
"//:grpc_utils",
4950
"@com_google_googleapis//google/devtools/cloudbuild/v1:cloudbuild_cc_grpc",
51+
"@com_google_googleapis//google/devtools/cloudbuild/v2:cloudbuild_cc_grpc",
5052
],
5153
)
5254

google/cloud/cloudbuild/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ set(DOXYGEN_EXAMPLE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/quickstart")
2323

2424
unset(mocks_globs)
2525
unset(source_globs)
26-
set(service_dirs "" "v1/")
26+
set(service_dirs "" "v1/" "v2/")
2727
foreach (dir IN LISTS service_dirs)
2828
string(REPLACE "/" "_" ns "${dir}")
2929
list(APPEND source_globs "${dir}*.h" "${dir}*.cc" "${dir}internal/*")

google/cloud/cloudbuild/doc/main.dox

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ which should give you a taste of the Cloud Build API C++ client library API.
4646
`EndpointOption` (which defaults to "cloudbuild.googleapis.com")
4747
used by `MakeCloudBuildConnection()`.
4848

49+
- `GOOGLE_CLOUD_CPP_REPOSITORY_MANAGER_ENDPOINT=...` overrides the
50+
`EndpointOption` (which defaults to "cloudbuild.googleapis.com")
51+
used by `MakeRepositoryManagerConnection()`.
52+
4953
<!-- inject-endpoint-env-vars-end -->
5054

5155
- `GOOGLE_CLOUD_CPP_ENABLE_TRACING=rpc` turns on tracing for most gRPC
@@ -96,6 +100,10 @@ For example, this will override the default endpoint for `cloudbuild_v1::CloudBu
96100

97101
@snippet cloud_build_client_samples.cc set-client-endpoint
98102

103+
Follow these links to find examples for other \c *Client classes:
104+
[cloudbuild_v1::CloudBuildClient](@ref cloudbuild_v1::CloudBuildClient-endpoint-snippet)
105+
[cloudbuild_v2::RepositoryManagerClient](@ref cloudbuild_v2::RepositoryManagerClient-endpoint-snippet)
106+
99107
<!-- inject-endpoint-snippet-end -->
100108

101109
## Override the authentication configuration
@@ -108,6 +116,10 @@ to explicitly load a service account key file.
108116
<!-- inject-service-account-snippet-start -->
109117
@snippet cloud_build_client_samples.cc with-service-account
110118

119+
Follow these links to find examples for other \c *Client classes:
120+
[cloudbuild_v1::CloudBuildClient](@ref cloudbuild_v1::CloudBuildClient-service-account-snippet)
121+
[cloudbuild_v2::RepositoryManagerClient](@ref cloudbuild_v2::RepositoryManagerClient-service-account-snippet)
122+
111123
<!-- inject-service-account-snippet-end -->
112124

113125
Keep in mind that we chose this as an example because it is relatively easy to
@@ -147,5 +159,17 @@ can override the default policies.
147159

148160
@snippet google/cloud/cloudbuild/v1/samples/cloud_build_client_samples.cc with-service-account
149161

162+
*/
163+
164+
/*! @page cloudbuild_v2::RepositoryManagerClient-endpoint-snippet Override cloudbuild_v2::RepositoryManagerClient Endpoint Configuration
165+
166+
@snippet google/cloud/cloudbuild/v2/samples/repository_manager_client_samples.cc set-client-endpoint
167+
168+
*/
169+
170+
/*! @page cloudbuild_v2::RepositoryManagerClient-service-account-snippet Override cloudbuild_v2::RepositoryManagerClient Authentication Defaults
171+
172+
@snippet google/cloud/cloudbuild/v2/samples/repository_manager_client_samples.cc with-service-account
173+
150174
*/
151175
// <!-- inject-endpoint-pages-end -->

0 commit comments

Comments
 (0)