Skip to content

Commit 8048a92

Browse files
authored
Merge branch 'main' into fix-billing-quickstart-docs
2 parents 409b434 + 2b28e0d commit 8048a92

1,621 files changed

Lines changed: 172586 additions & 4765 deletions

File tree

Some content is hidden

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

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.4.2
1+
8.7.0

.gemini/styleguide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ https://google.github.io/styleguide/cppguide.html.
33

44
This repository differs from the Google C++ style guide in the following ways:
55

6-
- supports C++14 as its minimum C++ standard version.
6+
- supports C++17 as its minimum C++ standard version.
77
- lists local includes first, then system includes.
88
- uses std::mutex instead of absl::mutex.
99
- uses google::cloud::future and google::cloud::promise instead of std::future

.github/workflows/external-account-integration.yml

Lines changed: 20 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ on:
77
required: true
88
description: "The ref we want to compile"
99
type: string
10+
push:
11+
branches:
12+
- "ci-gha-*"
13+
schedule:
14+
- cron: '0 4 * * *'
1015

1116
permissions:
1217
contents: read
@@ -28,56 +33,25 @@ jobs:
2833
steps:
2934
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
3035
with:
31-
ref: ${{ inputs.checkout-ref }}
32-
- id: auth
33-
uses: google-github-actions/auth@v2
34-
with:
35-
create_credentials_file: true
36-
credentials_json: ${{ secrets.BUILD_CACHE_KEY }}
37-
- name: Set up Cloud SDK
38-
uses: google-github-actions/setup-gcloud@v2
39-
- name: vcpkg-version
40-
id: vcpkg-version
41-
run: |
42-
echo "version=$(cat ci/etc/vcpkg-version.txt)" >> "${GITHUB_OUTPUT}"
43-
shell: bash
44-
- name: install ninja and CMake
45-
run: |
46-
rm /usr/local/bin/cmake
47-
sudo apt install ninja-build cmake
48-
- name: download-sccache
49-
working-directory: "${{runner.temp}}"
50-
run: |
51-
curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.7.1/sccache-v0.7.1-x86_64-unknown-linux-musl.tar.gz | \
52-
tar -zxf - --strip-components=1 && \
53-
sudo mv sccache /usr/bin/sccache && \
54-
sudo chmod +x /usr/bin/sccache
55-
- name: download-vcpkg
56-
working-directory: "${{runner.temp}}"
57-
run: |
58-
mkdir -p vcpkg
59-
curl -fsSL "https://github.com/microsoft/vcpkg/archive/${STEPS_VCPKG_VERSION_OUTPUTS_VERSION}.tar.gz" |
60-
tar -C vcpkg --strip-components=1 -zxf -
61-
vcpkg/bootstrap-vcpkg.sh -disableMetrics
62-
env:
63-
STEPS_VCPKG_VERSION_OUTPUTS_VERSION: ${{ steps.vcpkg-version.outputs.version }}
64-
# First compile the code using the identity with access to the build cache
65-
- run: |
66-
env VCPKG_ROOT="${{ runner.temp }}/vcpkg" ci/gha/builds/external-account.sh
67-
# Then switch to the BYOID identity and run the integration test
36+
ref: ${{ inputs.checkout-ref || github.sha }}
37+
# Use BYOID identity and run the integration test
6838
- id: byoid-auth
6939
if: '!github.event.pull_request.head.repo.fork'
7040
name: 'Authenticate to GCP'
71-
uses: 'google-github-actions/auth@v2'
41+
uses: 'google-github-actions/auth@v3'
7242
with:
7343
create_credentials_file: true
7444
workload_identity_provider: 'projects/49427430084/locations/global/workloadIdentityPools/github-wif-pool/providers/github-wif-provider'
7545
service_account: 'github-actions@cloud-cpp-identity-federation.iam.gserviceaccount.com'
76-
- run: |
77-
ctest --test-dir cmake-out --output-on-failure -R common_internal_external_account_integration_test
78-
env:
79-
SCCACHE_GCS_BUCKET: cloud-cpp-gha-cache
80-
SCCACHE_GCS_KEY_PREFIX: sccache/ubuntu-22.04/${{ github.job }}
81-
SCCACHE_GCS_RW_MODE: READ_WRITE
82-
SCCACHE_IGNORE_SERVER_IO_ERROR: 1
83-
VCPKG_BINARY_SOURCES: x-gcs,gs://cloud-cpp-gha-cache/vcpkg-cache/ubuntu-22.04/${{ github.job }},readwrite
46+
- name: Run integration tests
47+
if: '!github.event.pull_request.head.repo.fork'
48+
run: |
49+
bazelisk test \
50+
--test_output=all \
51+
--verbose_failures=true \
52+
--keep_going \
53+
--experimental_convenience_symlinks=ignore \
54+
--remote_upload_local_results=false \
55+
--test_env=GOOGLE_APPLICATION_CREDENTIALS="${GOOGLE_APPLICATION_CREDENTIALS}" \
56+
--test_env=GOOGLE_CLOUD_CPP_TEST_WIF_BUCKET="cloud-cpp-wif-test-bucket" \
57+
//google/cloud:internal_external_account_integration_test

.github/workflows/macos-cmake.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
- uses: actions/setup-python@v5
7171
id: py311
7272
with:
73-
python-version: '3.13'
73+
python-version: '3.14'
7474
- uses: google-github-actions/setup-gcloud@v2
7575
env:
7676
CLOUDSDK_PYTHON: ${{ steps.py311.outputs.python-path }}

.github/workflows/test-runner.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,15 @@ jobs:
6363
# the additional jobs inherit any secrets needed to use the remote caches and
6464
# receive what version to checkout as an input.
6565
macos-bazel:
66-
# Disabled
67-
if: false
66+
# Build the full matrix only on push events to the default branch, or
67+
# when PR gets the has a `gha:full-build` label, or when it had the
68+
# label already and it gets a new commit.
69+
if: |-
70+
${{
71+
github.event_name == 'schedule' ||
72+
github.event_name == 'push' ||
73+
contains(github.event.pull_request.labels.*.name, 'gha:full-build')
74+
}}
6875
name: macOS-Bazel
6976
needs: [pre-flight]
7077
uses: ./.github/workflows/macos-bazel.yml

.github/workflows/windows-cmake.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
- uses: actions/setup-python@v5
7777
id: py311
7878
with:
79-
python-version: '3.13'
79+
python-version: '3.14'
8080
- uses: google-github-actions/setup-gcloud@v2
8181
env:
8282
CLOUDSDK_PYTHON: ${{ steps.py311.outputs.python-path }}

.typos.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ extend-exclude = [
3333
"google/cloud/resourcemanager/v3/projects_client.h",
3434
"google/cloud/securesourcemanager/v1/secure_source_manager_client.h",
3535
"google/cloud/visionai/v1/warehouse_client.h",
36+
"google/cloud/datacatalog/lineage/v1/lineage_client.h",
3637
# The tool complains about `FIELDs` :shrug:
3738
"/google/cloud/aiplatform/v1/featurestore_client.h",
3839
# Files with binary blobs in base64 format. These are usually invalidated

CHANGELOG.md

Lines changed: 68 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,71 @@ breaking changes in the upcoming 4.x release. This release is scheduled for
77
**NOTE**: Please refer to the [V3 Migration Guide](/doc/v3-migration-guide.md)
88
for details on updating existing applications using v1.x.y or v2.x.y.
99

10-
## v3.4.0 - TBD
10+
## v3.6.0 - TBD
11+
12+
### New Libraries
13+
14+
We are happy to announce the following GA libraries. Unless specifically noted,
15+
the APIs in these libraries are stable, and are ready for production use.
16+
17+
- [Data Analytics API with Gemini](/google/cloud/geminidataanalytics/README.md)
18+
19+
### Updated Libraries
20+
21+
- [Network Security API] has been updated with several additional services ([#16122](https://github.com/googleapis/google-cloud-cpp/pull/16122))
22+
23+
### Auth
24+
25+
- [Google Distributed Cloud Hosting (GDCH) Service Account credentials](https://docs.cloud.google.com/distributed-cloud/hosted/docs/latest/gdcag/platform/pa-user/service-identity)
26+
are now supported for REST endpoints. Support for gRPC endpoints will be
27+
available in a future release.
28+
29+
30+
## v3.5.0 - 2026-05
31+
32+
### [Bigtable](/google/cloud/bigtable/README.md)
33+
34+
- fix(bigtable): treat NOT_FOUND and PERMISSION_DENIED on channel refresh as success ([#16086](https://github.com/googleapis/google-cloud-cpp/pull/16086))
35+
- feat(bigtable): add DeadlineOption ([#16085](https://github.com/googleapis/google-cloud-cpp/pull/16085))
36+
37+
### [Storage](/google/cloud/storage/README.md)
38+
39+
- fix(storage): Reset write offset on gRPC BidiWriteObject resumable uploads ([#16083](https://github.com/googleapis/google-cloud-cpp/pull/16083))
40+
- fix(storage): Handle request transformation after gRPC BidiWriteObject redirects ([#16073](https://github.com/googleapis/google-cloud-cpp/pull/16073))
41+
42+
### [Google APIs interface definitions](https://github.com/googleapis/googleapis)
43+
44+
- This release is based on definitions as of [2026-04-22T13:12:27-07:00](https://github.com/googleapis/googleapis/tree/20ac242a6b3a723cb10c1a0201209261addaf7d8)
45+
46+
## v3.4.0 - 2026-04
47+
48+
### [Bigtable](/google/cloud/bigtable/README.md)
49+
50+
- Dynamic Channel Pool support has been added as an opt-in feature. It can be
51+
enabled via the [InstanceChannelAffinityOption](https://github.com/googleapis/google-cloud-cpp/blob/f3de489be4caaaf17e589c7fd7e427488c474f61/google/cloud/bigtable/options.h#L186)
52+
and configured via the [DynamicChannelPoolSizingPolicyOption](https://github.com/googleapis/google-cloud-cpp/blob/f3de489be4caaaf17e589c7fd7e427488c474f61/google/cloud/bigtable/options.h#L222).
53+
54+
### [Data Catalog](/google/cloud/datacatalog/README.md)
55+
56+
- Added Data Lineage Config Management library.([#16069](https://github.com/googleapis/google-cloud-cpp/pull/16069))
57+
58+
### [Dataplex](/google/cloud/dataplex/README.md)
59+
60+
- Added Business Glossary library.([#16072](https://github.com/googleapis/google-cloud-cpp/pull/16072))
61+
- Added CMEK library.([#16072](https://github.com/googleapis/google-cloud-cpp/pull/16072))
62+
- Added Data Products library.([#16072](https://github.com/googleapis/google-cloud-cpp/pull/16072))
63+
64+
### [Spanner](/google/cloud/spanner/README.md)
65+
66+
- feat(spanner): set read lock mode at client level ([#16068](https://github.com/googleapis/google-cloud-cpp/pull/16068))
67+
68+
### [Storage](/google/cloud/storage/README.md)
69+
70+
- feat(storage): add IsOpen API for zonal read operation ([#16063](https://github.com/googleapis/google-cloud-cpp/pull/16063))
71+
72+
### [Google APIs interface definitions](https://github.com/googleapis/googleapis)
73+
74+
- This release is based on definitions as of [2026-04-02T09:44:56-07:00](https://github.com/googleapis/googleapis/tree/c8ca5bce5cbabac76b8619bd8d63ac10bb0561a9)
1175

1276
## v3.3.0 - 2026-03
1377

@@ -16,9 +80,9 @@ for details on updating existing applications using v1.x.y or v2.x.y.
1680
We are happy to announce the following GA libraries. Unless specifically noted,
1781
the APIs in these libraries are stable, and are ready for production use.
1882

19-
- [Gemini Enterprise for Customer Experience API](google/cloud/ces/README.md)
20-
- [Cluster Director API](google/cloud/hypercomputecluster/README.md)
21-
- [Vector Search API](google/cloud/vectorsearch/README.md)
83+
- [Gemini Enterprise for Customer Experience API](/google/cloud/ces/README.md)
84+
- [Cluster Director API](/google/cloud/hypercomputecluster/README.md)
85+
- [Vector Search API](/google/cloud/vectorsearch/README.md)
2286
- [Vision AI API](/google/cloud/visionai/README.md)
2387
- [Workload Manager](/google/cloud/workloadmanager/README.md)
2488

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ set(PACKAGE_BUGREPORT "https://github.com/googleapis/google-cloud-cpp/issues")
2121

2222
project(
2323
google-cloud-cpp
24-
VERSION 3.4.0
24+
VERSION 3.6.0
2525
LANGUAGES CXX)
2626
set(PROJECT_VERSION_PRE_RELEASE "rc")
2727

MODULE.bazel

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@
1616

1717
module(
1818
name = "google_cloud_cpp",
19-
version = "3.4.0-rc", # Updated by CMake
19+
version = "3.6.0-rc", # Updated by CMake
2020
compatibility_level = 3, # Updated by CMake
2121
)
2222

2323
bazel_dep(name = "platforms", version = "1.0.0")
2424
bazel_dep(name = "bazel_skylib", version = "1.9.0")
25-
bazel_dep(name = "rules_cc", version = "0.2.14")
25+
bazel_dep(name = "rules_cc", version = "0.2.15")
2626
bazel_dep(name = "abseil-cpp", version = "20250814.2")
2727

2828
# For backwards compatibility with WORKSPACE.
2929
# The name "com_google_protobuf" is internally used by @bazel_tools,
3030
# a native repository we cannot override.
3131
# See https://github.com/googleapis/google-cloud-cpp/issues/15393
32-
bazel_dep(name = "protobuf", version = "33.1", repo_name = "com_google_protobuf")
32+
bazel_dep(name = "protobuf", version = "33.5", repo_name = "com_google_protobuf")
3333
bazel_dep(name = "boringssl", version = "0.20251124.0")
3434
bazel_dep(name = "nlohmann_json", version = "3.12.0.bcr.1")
3535
bazel_dep(name = "curl", version = "8.8.0.bcr.3")
@@ -44,15 +44,15 @@ bazel_dep(name = "yaml-cpp", version = "0.9.0", dev_dependency = True, repo_name
4444
bazel_dep(name = "pugixml", version = "1.15", dev_dependency = True, repo_name = "com_github_zeux_pugixml")
4545

4646
# Pin this to fix a break in bazel/deps-cache.py
47-
bazel_dep(name = "protoc-gen-validate", version = "1.2.1.bcr.2", dev_dependency = True, repo_name = "com_envoyproxy_protoc_gen_validate")
47+
bazel_dep(name = "protoc-gen-validate", version = "1.3.3", dev_dependency = True, repo_name = "com_envoyproxy_protoc_gen_validate")
4848

4949
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
5050
python.toolchain(
5151
ignore_root_user_error = True,
5252
python_version = "3.11",
5353
)
5454

55-
bazel_dep(name = "grpc", version = "1.76.0.bcr.1")
56-
bazel_dep(name = "googleapis", version = "0.0.0-20260323-0b3dec84")
57-
bazel_dep(name = "googleapis-cc", version = "1.0.0")
58-
bazel_dep(name = "googleapis-grpc-cc", version = "1.0.0")
55+
bazel_dep(name = "grpc", version = "1.81.0")
56+
bazel_dep(name = "googleapis", version = "0.0.0-20260525-ef19b7b7")
57+
bazel_dep(name = "googleapis-cc", version = "1.1.5")
58+
bazel_dep(name = "googleapis-grpc-cc", version = "1.1.5")

0 commit comments

Comments
 (0)