Skip to content

Commit f0875fd

Browse files
authored
Merge branch 'prepare-for-v3.0.0' into v3_absl_quiet_headers
2 parents d9c08ce + 4447f67 commit f0875fd

18 files changed

Lines changed: 31 additions & 296 deletions

ci/cloudbuild/builds/lib/quickstart.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ function quickstart::build_one_quickstart() {
5959
"-S" "${src_dir}"
6060
"-B" "${cmake_bin_dir}"
6161
-DCMAKE_CXX_STANDARD=17
62+
-DCMAKE_BUILD_TYPE=Debug
6263
-DCMAKE_PREFIX_PATH="${prefix}"
6364
)
6465
if command -v /usr/local/bin/sccache >/dev/null 2>&1; then
@@ -120,7 +121,11 @@ function quickstart::run_one_quickstart() {
120121

121122
io::log "[ CMake ]"
122123
local cmake_bin_dir="${PROJECT_ROOT}/cmake-out/quickstart/cmake-${bin_dir_suffix}"
123-
io::run "${cmake_bin_dir}/quickstart" "${run_args[@]}"
124+
if command -v /usr/bin/valgrind >/dev/null 2>&1; then
125+
io::run valgrind --leak-check=full "${cmake_bin_dir}/quickstart" "${run_args[@]}"
126+
else
127+
io::run env MALLOC_CHECK_=3 "${cmake_bin_dir}/quickstart" "${run_args[@]}"
128+
fi
124129

125130
# echo
126131
# io::log "[ Make ]"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
5858

5959
# ```bash
6060
RUN apk update && \
61-
apk add abseil-cpp-dev crc32c-dev c-ares-dev curl-dev grpc-dev \
61+
apk add abseil-cpp-dev c-ares-dev curl-dev grpc-dev \
6262
protobuf-dev nlohmann-json openssl-dev re2-dev
6363
# ```
6464

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig
6060

6161
# #### abseil
6262
WORKDIR /var/tmp/build/abseil-cpp
63-
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250127.1.tar.gz | \
63+
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
6464
tar -xzf - --strip-components=1 && \
6565
cmake \
6666
-DCMAKE_BUILD_TYPE=Release \
67+
-DCMAKE_CXX_STANDARD=17 \
6768
-DABSL_BUILD_TESTING=OFF \
68-
-DABSL_PROPAGATE_CXX_STD=ON \
6969
-DBUILD_SHARED_LIBS=yes \
7070
-S . -B cmake-out && \
7171
cmake --build cmake-out -- -j ${NCPU:-4} && \

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

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -29,48 +29,21 @@ RUN apt-get update && \
2929

3030
# #### Abseil
3131

32-
# Debian 11 ships with Abseil==20200923.3. Unfortunately, the current gRPC
33-
# version needs Abseil >= 20210324. Enabling `ABSL_PROPAGATE_CXX_STD`
34-
# propagates the version of C++ used to compile Abseil to anything that depends
35-
# on Abseil.
36-
3732
# ```bash
3833
WORKDIR /var/tmp/build/abseil-cpp
39-
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250127.1.tar.gz | \
34+
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
4035
tar -xzf - --strip-components=1 && \
4136
cmake \
4237
-DCMAKE_BUILD_TYPE=Release \
4338
-DCMAKE_CXX_STANDARD=17 \
4439
-DABSL_BUILD_TESTING=OFF \
45-
-DABSL_PROPAGATE_CXX_STD=ON \
4640
-DBUILD_SHARED_LIBS=yes \
4741
-S . -B cmake-out && \
4842
cmake --build cmake-out -- -j ${NCPU:-4} && \
4943
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
5044
ldconfig
5145
# ```
5246

53-
# #### crc32c
54-
55-
# The project depends on the Crc32c library, we need to compile this from
56-
# source:
57-
58-
# ```bash
59-
WORKDIR /var/tmp/build/crc32c
60-
RUN curl -fsSL https://github.com/google/crc32c/archive/1.1.2.tar.gz | \
61-
tar -xzf - --strip-components=1 && \
62-
cmake \
63-
-DCMAKE_BUILD_TYPE=Release \
64-
-DBUILD_SHARED_LIBS=yes \
65-
-DCRC32C_BUILD_TESTS=OFF \
66-
-DCRC32C_BUILD_BENCHMARKS=OFF \
67-
-DCRC32C_USE_GLOG=OFF \
68-
-S . -B cmake-out && \
69-
cmake --build cmake-out -- -j ${NCPU:-4} && \
70-
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
71-
ldconfig
72-
# ```
73-
7447
# #### nlohmann_json library
7548

7649
# Debian 11 also ships with nlohmann-json==3.9.1, which is recent enough for our needs:

ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ RUN dnf makecache && \
3131
# ```bash
3232
RUN dnf makecache && \
3333
dnf install -y protobuf-compiler protobuf-devel grpc-cpp grpc-devel \
34-
json-devel libcurl-devel google-crc32c-devel openssl-devel
34+
json-devel libcurl-devel openssl-devel
3535
# ```
3636

3737
# #### Patching pkg-config
@@ -54,14 +54,6 @@ RUN curl -fsSL https://distfiles.ariadne.space/pkgconf/pkgconf-2.2.0.tar.gz | \
5454
ldconfig && cd /var/tmp && rm -fr build
5555
# ```
5656

57-
# Older versions of Fedora hard-code RE2 to use C++11. It was fixed starting
58-
# with Fedora:38. If you using Fedora >= 38 or you are not planning to use
59-
# `pkg-config(1)` you can ignore this step. Alternatively, you can install RE2
60-
# and gRPC from source.
61-
# ```
62-
# sed -i 's/-std=c\+\+11 //' /usr/lib64/pkgconfig/re2.pc
63-
# ```
64-
6557
# The following steps will install libraries and tools in `/usr/local`. By
6658
# default, pkgconf does not search in these directories. We need to explicitly
6759
# set the search path.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ RUN zypper refresh && \
3535
# ```bash
3636
RUN zypper refresh && \
3737
zypper install --allow-downgrade -y abseil-cpp-devel c-ares-devel \
38-
libcurl-devel libopenssl-devel libcrc32c-devel nlohmann_json-devel \
38+
libcurl-devel libopenssl-devel nlohmann_json-devel \
3939
grpc-devel libprotobuf-devel
4040
# ```
4141

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

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -68,20 +68,14 @@ ENV PATH=/usr/local/bin:${PATH}
6868

6969
# #### Abseil
7070

71-
# Rocky Linux 9 includes a package for Abseil, unfortunately, this package is
72-
# incomplete, as it lacks the CMake support files for it. We need to compile
73-
# Abseiil from source. Enabling `ABSL_PROPAGATE_CXX_STD` propagates the version
74-
# of C++ used to compile Abseil to anything that depends on Abseil.
75-
7671
# ```bash
7772
WORKDIR /var/tmp/build/abseil-cpp
78-
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250127.1.tar.gz | \
73+
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
7974
tar -xzf - --strip-components=1 && \
8075
cmake \
8176
-DCMAKE_BUILD_TYPE=Release \
8277
-DCMAKE_CXX_STANDARD=17 \
8378
-DABSL_BUILD_TESTING=OFF \
84-
-DABSL_PROPAGATE_CXX_STD=ON \
8579
-DBUILD_SHARED_LIBS=yes \
8680
-S . -B cmake-out && \
8781
cmake --build cmake-out -- -j ${NCPU:-4} && \
@@ -159,27 +153,6 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.74.1.tar.gz | \
159153
ldconfig
160154
# ```
161155

162-
# #### crc32c
163-
164-
# The project depends on the Crc32c library, we need to compile this from
165-
# source:
166-
167-
# ```bash
168-
WORKDIR /var/tmp/build/crc32c
169-
RUN curl -fsSL https://github.com/google/crc32c/archive/1.1.2.tar.gz | \
170-
tar -xzf - --strip-components=1 && \
171-
cmake \
172-
-DCMAKE_BUILD_TYPE=Release \
173-
-DBUILD_SHARED_LIBS=yes \
174-
-DCRC32C_BUILD_TESTS=OFF \
175-
-DCRC32C_BUILD_BENCHMARKS=OFF \
176-
-DCRC32C_USE_GLOG=OFF \
177-
-S . -B cmake-out && \
178-
cmake --build cmake-out -- -j ${NCPU:-4} && \
179-
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
180-
ldconfig
181-
# ```
182-
183156
# #### nlohmann_json library
184157

185158
# The project depends on the nlohmann_json library. We use CMake to

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,11 @@ RUN ln -s /usr/bin/pkgconf /usr/bin/pkg-config
6464

6565
# #### abseil
6666
WORKDIR /var/tmp/build/abseil-cpp
67-
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250127.1.tar.gz | \
67+
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
6868
tar -xzf - --strip-components=1 && \
6969
cmake \
7070
-DCMAKE_BUILD_TYPE=Release \
7171
-DABSL_BUILD_TESTING=OFF \
72-
-DABSL_PROPAGATE_CXX_STD=ON \
7372
-DBUILD_SHARED_LIBS=yes \
7473
-S . -B cmake-out && \
7574
cmake --build cmake-out -- -j ${NCPU:-4} && \

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

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,14 @@ RUN apt-get update && \
3030

3131
# #### Abseil
3232

33-
# We need a recent version of Abseil. Enabling `ABSL_PROPAGATE_CXX_STD`
34-
# propagates the version of C++ used to compile Abseil to anything that depends
35-
# on Abseil.
36-
3733
# ```bash
3834
WORKDIR /var/tmp/build/abseil-cpp
39-
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250127.1.tar.gz | \
35+
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
4036
tar -xzf - --strip-components=1 && \
4137
cmake \
4238
-DCMAKE_BUILD_TYPE=Release \
4339
-DCMAKE_CXX_STANDARD=17 \
4440
-DABSL_BUILD_TESTING=OFF \
45-
-DABSL_PROPAGATE_CXX_STD=ON \
4641
-DBUILD_SHARED_LIBS=yes \
4742
-S . -B cmake-out && \
4843
cmake --build cmake-out -- -j ${NCPU:-4} && \
@@ -117,27 +112,6 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.74.1.tar.gz | \
117112
ldconfig
118113
# ```
119114

120-
# #### crc32c
121-
122-
# The project depends on the Crc32c library, we need to compile this from
123-
# source:
124-
125-
# ```bash
126-
WORKDIR /var/tmp/build/crc32c
127-
RUN curl -fsSL https://github.com/google/crc32c/archive/1.1.2.tar.gz | \
128-
tar -xzf - --strip-components=1 && \
129-
cmake \
130-
-DCMAKE_BUILD_TYPE=Release \
131-
-DBUILD_SHARED_LIBS=yes \
132-
-DCRC32C_BUILD_TESTS=OFF \
133-
-DCRC32C_BUILD_BENCHMARKS=OFF \
134-
-DCRC32C_USE_GLOG=OFF \
135-
-S . -B cmake-out && \
136-
cmake --build cmake-out -- -j ${NCPU:-4} && \
137-
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
138-
ldconfig
139-
# ```
140-
141115
# #### nlohmann_json library
142116

143117
# The project depends on the nlohmann_json library. We use CMake to

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

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,14 @@ RUN apt-get update && \
3030

3131
# #### Abseil
3232

33-
# We need a recent version of Abseil. Enabling `ABSL_PROPAGATE_CXX_STD`
34-
# propagates the version of C++ used to compile Abseil to anything that depends
35-
# on Abseil.
36-
3733
# ```bash
3834
WORKDIR /var/tmp/build/abseil-cpp
39-
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250127.1.tar.gz | \
35+
RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
4036
tar -xzf - --strip-components=1 && \
4137
cmake \
4238
-DCMAKE_BUILD_TYPE=Release \
4339
-DCMAKE_CXX_STANDARD=17 \
4440
-DABSL_BUILD_TESTING=OFF \
45-
-DABSL_PROPAGATE_CXX_STD=ON \
4641
-DBUILD_SHARED_LIBS=yes \
4742
-S . -B cmake-out && \
4843
cmake --build cmake-out -- -j ${NCPU:-4} && \
@@ -98,27 +93,6 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.74.1.tar.gz | \
9893
ldconfig
9994
# ```
10095

101-
# #### crc32c
102-
103-
# The project depends on the Crc32c library, we need to compile this from
104-
# source:
105-
106-
# ```bash
107-
WORKDIR /var/tmp/build/crc32c
108-
RUN curl -fsSL https://github.com/google/crc32c/archive/1.1.2.tar.gz | \
109-
tar -xzf - --strip-components=1 && \
110-
cmake \
111-
-DCMAKE_BUILD_TYPE=Release \
112-
-DBUILD_SHARED_LIBS=yes \
113-
-DCRC32C_BUILD_TESTS=OFF \
114-
-DCRC32C_BUILD_BENCHMARKS=OFF \
115-
-DCRC32C_USE_GLOG=OFF \
116-
-S . -B cmake-out && \
117-
cmake --build cmake-out -- -j ${NCPU:-4} && \
118-
cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
119-
ldconfig
120-
# ```
121-
12296
# #### nlohmann_json library
12397

12498
# The project depends on the nlohmann_json library. We use CMake to

0 commit comments

Comments
 (0)