Skip to content

Commit e9bceb7

Browse files
authored
Merge branch 'main' into status
2 parents f14aac2 + 2b28e0d commit e9bceb7

14,522 files changed

Lines changed: 471533 additions & 123835 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.

.bazelrc

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,16 @@
1818
# Use host-OS-specific config lines from bazelrc files.
1919
build --enable_platform_specific_config=true
2020

21-
# The project requires C++ >= 14. By default Bazel adds `-std=c++0x` which
22-
# disables C++14 features, even if the compilers defaults to C++ >= 14
23-
build:linux --cxxopt=-std=c++14
24-
build:macos --cxxopt=-std=c++14
25-
# Protobuf and gRPC require (or soon will require) C++14 to compile the "host"
21+
build --features=external_include_paths
22+
build --cxxopt=-Wno-private-header
23+
24+
# The project requires C++ >= 17.
25+
build:linux --cxxopt=-std=c++17
26+
build:macos --cxxopt=-std=c++17
27+
# Protobuf and gRPC require C++17 to compile the "host"
2628
# targets, such as protoc and the grpc plugin.
27-
build:linux --host_cxxopt=-std=c++14
28-
build:macos --host_cxxopt=-std=c++14
29+
build:linux --host_cxxopt=-std=c++17
30+
build:macos --host_cxxopt=-std=c++17
2931

3032
# Do not create the convenience links. They are inconvenient when the build
3133
# runs inside a docker image or if one builds a quickstart and then builds
@@ -35,24 +37,18 @@ build --experimental_convenience_symlinks=ignore
3537
# We mirror critical tarballs from several sources in case the canonical source
3638
# is temporarily unavailable, e.g., github.com being down. This option and flag
3739
# automatically rewrites the URLs.
38-
build --experimental_downloader_config=bazel/downloader.cfg
40+
# TODO(#15549) - re-enable once the downloader config is fixed.
41+
# build --experimental_downloader_config=bazel/downloader.cfg
3942

4043
# It is frustrating when long-running builds/tests fail, but it is even more
4144
# frustrating when they fail and don't give any output. So, remove the limit.
4245
build --experimental_ui_max_stdouterr_bytes=-1
4346

44-
# TODO(#13311) - remove once gRPC works with Bazel v7 or when gRPC stops using
45-
# `apple_rules`.
46-
common:macos --repo_env=BAZEL_NO_APPLE_CPP_TOOLCHAIN=1
47-
4847
# Inject ${GTEST_SHUFFLE} and ${GTEST_RANDOM_SEED} into the test environment
4948
# if they are set in the enclosing environment. This allows for running tests
5049
# in a random order to help expose undesirable interdependencies.
5150
test --test_env=GTEST_SHUFFLE --test_env=GTEST_RANDOM_SEED
5251

53-
# By default, build the library with OpenTelemetry
54-
build --//:enable_opentelemetry
55-
5652
# Don't show warnings when building external dependencies. This still shows
5753
# warnings when using these dependencies (say in headers).
5854
build --output_filter='^//((?!(external):).)*$'
@@ -73,6 +69,8 @@ build:sanitizer --strip=never
7369
build:sanitizer --copt=-Og
7470
build:sanitizer --copt=-g
7571
build:sanitizer --copt=-fno-omit-frame-pointer
72+
#build:sanitizer --features=external_include_paths
73+
7674

7775
# --config asan: Address Sanitizer
7876
build:asan --config=sanitizer
@@ -105,6 +103,8 @@ build:ubsan --copt=-DCURL_STRICTER
105103
build:ubsan --linkopt=-fsanitize=undefined
106104
build:ubsan --linkopt=-fsanitize-link-c++-runtime
107105
build:ubsan --action_env=UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1
106+
#build:ubsan --features=external_include_paths
107+
108108

109109
# --config xsan: Runs misc. sanitizers that aren't covered elsewhere.
110110
build:xsan --config=sanitizer
@@ -131,3 +131,4 @@ build:msan --linkopt=-L/usr/lib/x86_64-unknown-linux-gnu
131131

132132
# --config otel2: Open Telemetery ABI version 2
133133
build:otel2 --cxxopt=-DOPENTELEMETRY_ABI_VERSION_NO=2
134+
build:otel2 --@opentelemetry-cpp//api:abi_version_no=2

.bazelversion

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

.clang-tidy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ Checks: >
8585
performance-*,
8686
portability-*,
8787
readability-*,
88+
-bugprone-exception-escape,
8889
-google-readability-braces-around-statements,
8990
-google-readability-namespace-comments,
9091
-google-runtime-references,

.gemini/styleguide.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
This repository mostly follows the Google C++ style guide found at
2+
https://google.github.io/styleguide/cppguide.html.
3+
4+
This repository differs from the Google C++ style guide in the following ways:
5+
6+
- supports C++17 as its minimum C++ standard version.
7+
- lists local includes first, then system includes.
8+
- uses std::mutex instead of absl::mutex.
9+
- uses google::cloud::future and google::cloud::promise instead of std::future
10+
and std::promise.
11+
- uses google::cloud::Status and google::cloud::StatusOr instead of absl::Status
12+
and absl::StatusOr.
13+
- prefers to factor out duplicated code if it appears 3 or more times in
14+
non-test files.
15+
- encourages duplication of salient setup and expectations in test cases to
16+
increase readability.
17+
18+
Do not make comments of suggestions on ordering of includes as a script formats
19+
them how we want.

.github/CODEOWNERS

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
# is the same as .gitignore.
44

55
# The owners for all files in the repo.
6-
* @googleapis/cloud-cxx-owners
6+
* @googleapis/cloud-sdk-cpp-team
77

88
# These libraries are also owned by the GCS clients team.
9-
/google/cloud/storage/ @googleapis/gcs-sdk-team @googleapis/cloud-cxx-owners
10-
/google/cloud/storagecontrol/ @googleapis/gcs-sdk-team @googleapis/cloud-cxx-owners
11-
/google/cloud/storageinsights/ @googleapis/gcs-sdk-team @googleapis/cloud-cxx-owners
12-
/google/cloud/storagetransfer/ @googleapis/gcs-sdk-team @googleapis/cloud-cxx-owners
9+
/google/cloud/storage/ @googleapis/gcs-team @googleapis/cloud-sdk-cpp-team
10+
/google/cloud/storagecontrol/ @googleapis/gcs-team @googleapis/cloud-sdk-cpp-team
11+
/google/cloud/storageinsights/ @googleapis/gcs-team @googleapis/cloud-sdk-cpp-team
12+
/google/cloud/storagetransfer/ @googleapis/gcs-team @googleapis/cloud-sdk-cpp-team

.github/renovate.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"python": {
88
"enabled": false
99
},
10-
"baseBranches": ["main", "/^prepare.*v3/"],
10+
"baseBranches": ["main"],
1111
"regexManagers": [
1212
{
1313
"fileMatch": [
@@ -90,6 +90,7 @@
9090
],
9191
"ignoreDeps": [
9292
"boringssl",
93-
"com_google_googleapis"
93+
"com_google_googleapis",
94+
"googleapis"
9495
]
9596
}

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222

2323
steps:
2424
- name: Checkout repository
25-
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
25+
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
2626
- name: Checkout vcpkg
27-
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
27+
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
2828
with:
2929
path: "build/vcpkg"
3030
repository: "microsoft/vcpkg"

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

Lines changed: 21 additions & 45 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
@@ -26,56 +31,27 @@ jobs:
2631
id-token: write
2732

2833
steps:
29-
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
34+
- 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-
# First compile the code using the identity with access to the build cache
63-
- run: |
64-
env VCPKG_ROOT="${{ runner.temp }}/vcpkg" ci/gha/builds/external-account.sh
65-
# 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
6638
- id: byoid-auth
6739
if: '!github.event.pull_request.head.repo.fork'
6840
name: 'Authenticate to GCP'
69-
uses: 'google-github-actions/auth@v2'
41+
uses: 'google-github-actions/auth@v3'
7042
with:
7143
create_credentials_file: true
7244
workload_identity_provider: 'projects/49427430084/locations/global/workloadIdentityPools/github-wif-pool/providers/github-wif-provider'
7345
service_account: 'github-actions@cloud-cpp-identity-federation.iam.gserviceaccount.com'
74-
- run: |
75-
ctest --test-dir cmake-out --output-on-failure -R common_internal_external_account_integration_test
76-
env:
77-
SCCACHE_GCS_BUCKET: cloud-cpp-gha-cache
78-
SCCACHE_GCS_KEY_PREFIX: sccache/ubuntu-22.04/${{ github.job }}
79-
SCCACHE_GCS_RW_MODE: READ_WRITE
80-
SCCACHE_IGNORE_SERVER_IO_ERROR: 1
81-
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-bazel.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
targets:
3838
- //google/cloud/storage/...
3939
steps:
40-
- uses: actions/checkout@v4
40+
- uses: actions/checkout@v5
4141
with:
4242
ref: ${{ inputs.checkout-ref }}
4343
- uses: google-github-actions/auth@v2

.github/workflows/macos-cmake.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
- exclude-from-full-trick: ${{ ! inputs.full-matrix }}
6060
shard: Other
6161
steps:
62-
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
62+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
6363
with:
6464
ref: ${{ inputs.checkout-ref }}
6565
- uses: google-github-actions/auth@v2
@@ -70,7 +70,7 @@ jobs:
7070
- uses: actions/setup-python@v5
7171
id: py311
7272
with:
73-
python-version: '3.11'
73+
python-version: '3.14'
7474
- uses: google-github-actions/setup-gcloud@v2
7575
env:
7676
CLOUDSDK_PYTHON: ${{ steps.py311.outputs.python-path }}
@@ -84,8 +84,6 @@ jobs:
8484
spanner
8585
)
8686
core2_features=(
87-
pubsub
88-
pubsublite
8987
storage
9088
storage_grpc
9189
)

0 commit comments

Comments
 (0)