Skip to content

Commit 49d1dcf

Browse files
authored
ci: update cloudbuild configuration post v3 merge (#15984)
1 parent 44f0334 commit 49d1dcf

109 files changed

Lines changed: 529 additions & 481 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.

ci/cloudbuild/builds/demo-install.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ cmake -S . -B cmake-out \
5353
-DBUILD_TESTING=OFF \
5454
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
5555
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
56+
-DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \
5657
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
5758
cmake --build cmake-out -- -j "$(nproc)"
5859
cmake --build cmake-out --target install

ci/cloudbuild/dockerfiles/demo-alpine-stable.Dockerfile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,6 @@ RUN apk update && \
6464

6565
# #### opentelemetry-cpp
6666

67-
# The project has an **optional** dependency on the OpenTelemetry library.
68-
# We recommend installing this library because:
69-
# - the dependency will become required in the google-cloud-cpp v3.x series.
70-
# - it is needed to produce distributed traces of the library.
71-
7267
# ```bash
7368
WORKDIR /var/tmp/build/opentelemetry-cpp
7469
RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \
@@ -97,3 +92,5 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca
9792
mkdir -p /usr/local/bin && \
9893
mv sccache /usr/local/bin/sccache && \
9994
chmod +x /usr/local/bin/sccache
95+
96+
ENV DEMO_CORD_WORKAROUND=OFF

ci/cloudbuild/dockerfiles/demo-debian-bookworm.Dockerfile

Lines changed: 76 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ RUN apt-get update && \
3131
# ```bash
3232
RUN apt-get update && \
3333
apt-get --no-install-recommends install -y \
34-
libabsl-dev \
35-
libprotobuf-dev protobuf-compiler \
36-
libgrpc++-dev libgrpc-dev protobuf-compiler-grpc \
3734
libcurl4-openssl-dev libssl-dev nlohmann-json3-dev
3835
# ```
3936

@@ -58,7 +55,9 @@ RUN curl -fsSL https://distfiles.ariadne.space/pkgconf/pkgconf-2.2.0.tar.gz | \
5855
ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig
5956
# ```
6057

61-
# #### abseil
58+
# #### Abseil
59+
60+
# ```bash
6261
WORKDIR /var/tmp/build/abseil-cpp
6362
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
6463
tar -xzf - --strip-components=1 && \
@@ -71,13 +70,27 @@ RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz |
7170
cmake --build cmake-out -- -j ${NCPU:-4} && \
7271
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
7372
ldconfig
73+
# ```
7474

75-
# #### opentelemetry-cpp
75+
# #### Protobuf
7676

77-
# The project has an **optional** dependency on the OpenTelemetry library.
78-
# We recommend installing this library because:
79-
# - the dependency will become required in the google-cloud-cpp v3.x series.
80-
# - it is needed to produce distributed traces of the library.
77+
# ```bash
78+
WORKDIR /var/tmp/build/protobuf
79+
RUN curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v33.1.tar.gz | \
80+
tar -xzf - --strip-components=1 && \
81+
cmake \
82+
-DCMAKE_BUILD_TYPE=Release \
83+
-DCMAKE_CXX_STANDARD=17 \
84+
-DBUILD_SHARED_LIBS=yes \
85+
-Dprotobuf_BUILD_TESTS=OFF \
86+
-Dprotobuf_ABSL_PROVIDER=package \
87+
-S . -B cmake-out && \
88+
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
89+
ldconfig && \
90+
ln -s /usr/local/bin/protoc /usr/bin/protoc
91+
# ```
92+
93+
# #### opentelemetry-cpp
8194

8295
# ```bash
8396
WORKDIR /var/tmp/build/opentelemetry-cpp
@@ -97,6 +110,58 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24
97110
ldconfig
98111
# ```
99112

113+
# #### c-ares
114+
115+
# ```bash
116+
WORKDIR /var/tmp/build/c-ares
117+
RUN curl -fsSL https://github.com/c-ares/c-ares/archive/refs/tags/cares-1_17_1.tar.gz | \
118+
tar -xzf - --strip-components=1 && \
119+
cmake \
120+
-DCMAKE_BUILD_TYPE=Release \
121+
-DBUILD_SHARED_LIBS=yes \
122+
-S . -B cmake-out && \
123+
cmake --build cmake-out --target install && \
124+
ldconfig
125+
# ```
126+
127+
# #### RE2
128+
129+
# ```bash
130+
WORKDIR /var/tmp/build/re2
131+
RUN curl -fsSL https://github.com/google/re2/archive/2025-07-22.tar.gz | \
132+
tar -xzf - --strip-components=1 && \
133+
cmake -DCMAKE_BUILD_TYPE=Release \
134+
-DBUILD_SHARED_LIBS=ON \
135+
-DRE2_BUILD_TESTING=OFF \
136+
-S . -B cmake-out && \
137+
cmake --build cmake-out --target install && \
138+
ldconfig
139+
# ```
140+
141+
# #### gRPC
142+
143+
# ```bash
144+
WORKDIR /var/tmp/build/grpc
145+
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.76.0.tar.gz | \
146+
tar -xzf - --strip-components=1 && \
147+
cmake \
148+
-DCMAKE_BUILD_TYPE=Release \
149+
-DCMAKE_CXX_STANDARD=17 \
150+
-DBUILD_SHARED_LIBS=yes \
151+
-DgRPC_INSTALL=ON \
152+
-DgRPC_BUILD_TESTS=OFF \
153+
-DgRPC_ABSL_PROVIDER=package \
154+
-DgRPC_CARES_PROVIDER=package \
155+
-DgRPC_PROTOBUF_PROVIDER=package \
156+
-DgRPC_RE2_PROVIDER=package \
157+
-DgRPC_SSL_PROVIDER=package \
158+
-DgRPC_ZLIB_PROVIDER=package \
159+
-DgRPC_OPENTELEMETRY_PROVIDER=package \
160+
-S . -B cmake-out && \
161+
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
162+
ldconfig
163+
# ```
164+
100165
## [DONE packaging.md]
101166

102167
RUN apt-get update && \
@@ -111,3 +176,5 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca
111176

112177
# Update the ld.conf cache in case any libraries were installed in /usr/local/lib*
113178
RUN ldconfig /usr/local/lib*
179+
180+
ENV DEMO_CORD_WORKAROUND=OFF

ci/cloudbuild/dockerfiles/demo-debian-bullseye.Dockerfile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,6 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.76.0.tar.gz | \
125125

126126
# #### opentelemetry-cpp
127127

128-
# The project has an **optional** dependency on the OpenTelemetry library.
129-
# We recommend installing this library because:
130-
# - the dependency will become required in the google-cloud-cpp v3.x series.
131-
# - it is needed to produce distributed traces of the library.
132-
133128
# ```bash
134129
WORKDIR /var/tmp/build/opentelemetry-cpp
135130
RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \
@@ -162,3 +157,5 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca
162157

163158
# Update the ld.conf cache in case any libraries were installed in /usr/local/lib*
164159
RUN ldconfig /usr/local/lib*
160+
161+
ENV DEMO_CORD_WORKAROUND=OFF

ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,6 @@ ENV PKG_CONFIG_PATH=/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/local/l
6464

6565
# #### opentelemetry-cpp
6666

67-
# The project has an **optional** dependency on the OpenTelemetry library.
68-
# We recommend installing this library because:
69-
# - the dependency will become required in the google-cloud-cpp v3.x series.
70-
# - it is needed to produce distributed traces of the library.
71-
7267
# ```bash
7368
WORKDIR /var/tmp/build/opentelemetry-cpp
7469
RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \

ci/cloudbuild/dockerfiles/demo-opensuse-leap.Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,5 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca
9191

9292
# Update the ld.conf cache in case any libraries were installed in /usr/local/lib*
9393
RUN ldconfig /usr/local/lib*
94+
95+
ENV DEMO_CORD_WORKAROUND=OFF

ci/cloudbuild/dockerfiles/demo-rockylinux-9.Dockerfile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,6 @@ RUN curl -fsSL https://github.com/nlohmann/json/archive/v3.11.3.tar.gz | \
176176

177177
# #### opentelemetry-cpp
178178

179-
# The project has an **optional** dependency on the OpenTelemetry library.
180-
# We recommend installing this library because:
181-
# - the dependency will become required in the google-cloud-cpp v3.x series.
182-
# - it is needed to produce distributed traces of the library.
183-
184179
# ```bash
185180
WORKDIR /var/tmp/build/opentelemetry-cpp
186181
RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24.0.tar.gz | \
@@ -212,3 +207,5 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca
212207

213208
# Update the ld.conf cache in case any libraries were installed in /usr/local/lib*
214209
RUN ldconfig /usr/local/lib*
210+
211+
ENV DEMO_CORD_WORKAROUND=OFF

ci/cloudbuild/dockerfiles/demo-ubuntu-24.04.Dockerfile

Lines changed: 78 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,8 @@ RUN apt-get update && \
3333
ENV DEBIAN_FRONTEND=noninteractive
3434
RUN apt-get update && \
3535
apt-get --no-install-recommends install -y \
36-
libabsl-dev \
37-
libcurl4-openssl-dev \
38-
libgrpc++-dev protobuf-compiler-grpc \
39-
libprotobuf-dev protobuf-compiler \
40-
nlohmann-json3-dev
36+
libssl-dev libcurl4-openssl-dev nlohmann-json3-dev zlib1g-dev \
37+
libsystemd-dev
4138
# ```
4239

4340
# #### Patching pkg-config
@@ -62,7 +59,9 @@ RUN curl -fsSL https://distfiles.ariadne.space/pkgconf/pkgconf-2.2.0.tar.gz | \
6259
RUN ln -s /usr/bin/pkgconf /usr/bin/pkg-config
6360
# ```
6461

65-
# #### abseil
62+
# #### Abseil
63+
64+
# ```bash
6665
WORKDIR /var/tmp/build/abseil-cpp
6766
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
6867
tar -xzf - --strip-components=1 && \
@@ -71,16 +70,28 @@ RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz |
7170
-DABSL_BUILD_TESTING=OFF \
7271
-DBUILD_SHARED_LIBS=yes \
7372
-S . -B cmake-out && \
74-
cmake --build cmake-out -- -j ${NCPU:-4} && \
7573
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
7674
ldconfig
75+
# ```
7776

78-
# #### opentelemetry-cpp
77+
# #### Protobuf
78+
79+
# ```bash
80+
WORKDIR /var/tmp/build/protobuf
81+
RUN curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v33.1.tar.gz | \
82+
tar -xzf - --strip-components=1 && \
83+
cmake \
84+
-DCMAKE_BUILD_TYPE=Release \
85+
-DCMAKE_CXX_STANDARD=17 \
86+
-DBUILD_SHARED_LIBS=yes \
87+
-Dprotobuf_BUILD_TESTS=OFF \
88+
-Dprotobuf_ABSL_PROVIDER=package \
89+
-S . -B cmake-out && \
90+
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
91+
ldconfig
92+
# ```
7993

80-
# The project has an **optional** dependency on the OpenTelemetry library.
81-
# We recommend installing this library because:
82-
# - the dependency will become required in the google-cloud-cpp v3.x series.
83-
# - it is needed to produce distributed traces of the library.
94+
# #### opentelemetry-cpp
8495

8596
# ```bash
8697
WORKDIR /var/tmp/build/opentelemetry-cpp
@@ -99,6 +110,59 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24
99110
ldconfig
100111
# ```
101112

113+
# #### c-ares
114+
115+
# ```bash
116+
WORKDIR /var/tmp/build/c-ares
117+
RUN curl -fsSL https://github.com/c-ares/c-ares/archive/refs/tags/cares-1_17_1.tar.gz | \
118+
tar -xzf - --strip-components=1 && \
119+
cmake \
120+
-DCMAKE_BUILD_TYPE=Release \
121+
-DBUILD_SHARED_LIBS=yes \
122+
-S . -B cmake-out && \
123+
cmake --build cmake-out --target install && \
124+
ldconfig
125+
# ```
126+
127+
# #### RE2
128+
129+
# ```bash
130+
WORKDIR /var/tmp/build/re2
131+
RUN curl -fsSL https://github.com/google/re2/archive/2025-07-22.tar.gz | \
132+
tar -xzf - --strip-components=1 && \
133+
cmake -DCMAKE_BUILD_TYPE=Release \
134+
-DBUILD_SHARED_LIBS=ON \
135+
-DRE2_BUILD_TESTING=OFF \
136+
-S . -B cmake-out && \
137+
cmake --build cmake-out --target install && \
138+
ldconfig
139+
# ```
140+
141+
# #### gRPC
142+
143+
# ```bash
144+
WORKDIR /var/tmp/build/grpc
145+
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.76.0.tar.gz | \
146+
tar -xzf - --strip-components=1 && \
147+
cmake \
148+
-DCMAKE_BUILD_TYPE=Release \
149+
-DCMAKE_CXX_STANDARD=17 \
150+
-DBUILD_SHARED_LIBS=ON \
151+
-DgRPC_INSTALL=ON \
152+
-DgRPC_BUILD_TESTS=OFF \
153+
-DgRPC_ABSL_PROVIDER=package \
154+
-DgRPC_CARES_PROVIDER=package \
155+
-DgRPC_PROTOBUF_PROVIDER=package \
156+
-DgRPC_RE2_PROVIDER=package \
157+
-DgRPC_SSL_PROVIDER=package \
158+
-DgRPC_ZLIB_PROVIDER=package \
159+
-DgRPC_OPENTELEMETRY_PROVIDER=package \
160+
-DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=ON \
161+
-S . -B cmake-out && \
162+
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
163+
ldconfig
164+
# ```
165+
102166
## [DONE packaging.md]
103167

104168
RUN apt-get update && \
@@ -113,3 +177,5 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca
113177

114178
# Update the ld.conf cache in case any libraries were installed in /usr/local/lib*
115179
RUN ldconfig /usr/local/lib*
180+
181+
ENV DEMO_CORD_WORKAROUND=OFF

0 commit comments

Comments
 (0)