Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 46 additions & 2 deletions ci/cloudbuild/dockerfiles/demo-debian-bookworm.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,49 @@ RUN curl -fsSL https://github.com/google/re2/archive/2025-11-05.tar.gz | \

# ```bash
WORKDIR /var/tmp/build/grpc
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
## [BEGIN IGNORED]
## The [BEGIN IGNORED] / [DONE IGNORED] sections below are omitted when
## generating doc/packaging.md via ci/generate-markdown/generate-packaging.sh.
## They work around an upstream gRPC + OpenSSL issue
## (https://github.com/grpc/grpc/issues/42068) in CI by building gRPC against
## its bundled BoringSSL (-DgRPC_SSL_PROVIDER=module) with prefixed symbols
## (BORINGSSL_PREFIX=bssl_grpc) and renamed shared libraries (bssl_crypto,
## bssl_ssl) so they do not collide with system OpenSSL (libssl.so, libcrypto.so)
## at build or run time.
RUN apt-get update && apt-get --no-install-recommends install -y golang-go
## [DONE IGNORED]
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.84.0.tar.gz | \
tar -xzf - --strip-components=1 && \
mkdir -p third_party/grpc-proto && \
curl -fsSL https://github.com/grpc/grpc-proto/archive/ec30f589e2519d595688b9a42f88a91bdd6b733f.tar.gz | \
tar -xzf - -C third_party/grpc-proto --strip-components=1 && \
## [BEGIN IGNORED]
## Build BoringSSL once to extract its symbol list with Go, disable its CMake
## install rules (to avoid overwriting system OpenSSL headers/pkg-config), and
## rename its shared libraries so they can be installed alongside OpenSSL.
mkdir -p third_party/boringssl-with-bazel && \
curl -fsSL https://github.com/google/boringssl/archive/2b44a3701a4788e1ef866ddc7f143060a3d196c9.tar.gz | \
tar -xzf - -C third_party/boringssl-with-bazel --strip-components=1 && \
printf 'module boringssl.googlesource.com/boringssl.git\n\ngo 1.18\n' > third_party/boringssl-with-bazel/go.mod && \
cmake -S third_party/boringssl-with-bazel -B bssl-build && \
cmake --build bssl-build --target crypto ssl -- -j ${NCPU:-4} && \
(cd third_party/boringssl-with-bazel && go run util/read_symbols.go -out ../../bssl_symbols.txt ../../bssl-build/libcrypto.a ../../bssl-build/libssl.a) && \
rm -rf bssl-build && \
sed -i 's/set(INSTALL_ENABLED 1)/set(INSTALL_ENABLED 0)/' third_party/boringssl-with-bazel/CMakeLists.txt && \
printf '%s\n' \
'set_target_properties(crypto PROPERTIES OUTPUT_NAME bssl_crypto)' \
'set_target_properties(ssl PROPERTIES OUTPUT_NAME bssl_ssl)' \
'add_dependencies(ssl boringssl_prefix_symbols)' \
'target_compile_definitions(crypto PUBLIC $<BUILD_INTERFACE:BORINGSSL_PREFIX=${BORINGSSL_PREFIX}>)' \
'target_include_directories(crypto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/symbol_prefix_include>)' \
>> third_party/boringssl-with-bazel/CMakeLists.txt && \
## [DONE IGNORED]
cmake \
## [BEGIN IGNORED]
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBORINGSSL_PREFIX=bssl_grpc \
-DBORINGSSL_PREFIX_SYMBOLS="$(pwd)/bssl_symbols.txt" \
## [DONE IGNORED]
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=yes \
Expand All @@ -178,7 +218,11 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
## [BEGIN IGNORED]
-DgRPC_SSL_PROVIDER=module \
## [DONE IGNORED]
## Emit -DgRPC_SSL_PROVIDER=package into doc/packaging.md while ignoring it in Docker.
# -DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_OPENTELEMETRY_PROVIDER=package \
-S . -B cmake-out && \
Expand Down
48 changes: 46 additions & 2 deletions ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,49 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24
# ```bash
WORKDIR /var/tmp/build/grpc
RUN dnf makecache && dnf install -y c-ares-devel re2-devel
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
## [BEGIN IGNORED]
## The [BEGIN IGNORED] / [DONE IGNORED] sections below are omitted when
## generating doc/packaging.md via ci/generate-markdown/generate-packaging.sh.
## They work around an upstream gRPC + OpenSSL issue
## (https://github.com/grpc/grpc/issues/42068) in CI by building gRPC against
## its bundled BoringSSL (-DgRPC_SSL_PROVIDER=module) with prefixed symbols
## (BORINGSSL_PREFIX=bssl_grpc) and renamed shared libraries (bssl_crypto,
## bssl_ssl) so they do not collide with system OpenSSL (libssl.so, libcrypto.so)
## at build or run time.
RUN dnf makecache && dnf install -y golang
## [DONE IGNORED]
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.84.0.tar.gz | \
tar -xzf - --strip-components=1 && \
mkdir -p third_party/grpc-proto && \
curl -fsSL https://github.com/grpc/grpc-proto/archive/ec30f589e2519d595688b9a42f88a91bdd6b733f.tar.gz | \
tar -xzf - -C third_party/grpc-proto --strip-components=1 && \
## [BEGIN IGNORED]
## Build BoringSSL once to extract its symbol list with Go, disable its CMake
## install rules (to avoid overwriting system OpenSSL headers/pkg-config), and
## rename its shared libraries so they can be installed alongside OpenSSL.
mkdir -p third_party/boringssl-with-bazel && \
curl -fsSL https://github.com/google/boringssl/archive/2b44a3701a4788e1ef866ddc7f143060a3d196c9.tar.gz | \
tar -xzf - -C third_party/boringssl-with-bazel --strip-components=1 && \
printf 'module boringssl.googlesource.com/boringssl.git\n\ngo 1.18\n' > third_party/boringssl-with-bazel/go.mod && \
cmake -S third_party/boringssl-with-bazel -B bssl-build && \
cmake --build bssl-build --target crypto ssl -- -j ${NCPU:-4} && \
(cd third_party/boringssl-with-bazel && go run util/read_symbols.go -out ../../bssl_symbols.txt ../../bssl-build/libcrypto.a ../../bssl-build/libssl.a) && \
rm -rf bssl-build && \
sed -i 's/set(INSTALL_ENABLED 1)/set(INSTALL_ENABLED 0)/' third_party/boringssl-with-bazel/CMakeLists.txt && \
printf '%s\n' \
'set_target_properties(crypto PROPERTIES OUTPUT_NAME bssl_crypto)' \
'set_target_properties(ssl PROPERTIES OUTPUT_NAME bssl_ssl)' \
'add_dependencies(ssl boringssl_prefix_symbols)' \
'target_compile_definitions(crypto PUBLIC $<BUILD_INTERFACE:BORINGSSL_PREFIX=${BORINGSSL_PREFIX}>)' \
'target_include_directories(crypto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/symbol_prefix_include>)' \
>> third_party/boringssl-with-bazel/CMakeLists.txt && \
## [DONE IGNORED]
cmake \
## [BEGIN IGNORED]
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBORINGSSL_PREFIX=bssl_grpc \
-DBORINGSSL_PREFIX_SYMBOLS="$(pwd)/bssl_symbols.txt" \
## [DONE IGNORED]
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=ON \
Expand All @@ -141,7 +181,11 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
## [BEGIN IGNORED]
-DgRPC_SSL_PROVIDER=module \
## [DONE IGNORED]
## Emit -DgRPC_SSL_PROVIDER=package into doc/packaging.md while ignoring it in Docker.
# -DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_OPENTELEMETRY_PROVIDER=package \
-DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=ON \
Expand Down
48 changes: 46 additions & 2 deletions ci/cloudbuild/dockerfiles/demo-opensuse-leap.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,49 @@ RUN curl -fsSL https://github.com/google/re2/archive/2025-11-05.tar.gz | \

# ```bash
WORKDIR /var/tmp/build/grpc
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
## [BEGIN IGNORED]
## The [BEGIN IGNORED] / [DONE IGNORED] sections below are omitted when
## generating doc/packaging.md via ci/generate-markdown/generate-packaging.sh.
## They work around an upstream gRPC + OpenSSL issue
## (https://github.com/grpc/grpc/issues/42068) in CI by building gRPC against
## its bundled BoringSSL (-DgRPC_SSL_PROVIDER=module) with prefixed symbols
## (BORINGSSL_PREFIX=bssl_grpc) and renamed shared libraries (bssl_crypto,
## bssl_ssl) so they do not collide with system OpenSSL (libssl.so, libcrypto.so)
## at build or run time.
RUN zypper refresh && zypper install --allow-downgrade -y go
## [DONE IGNORED]
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.84.0.tar.gz | \
tar -xzf - --strip-components=1 && \
mkdir -p third_party/grpc-proto && \
curl -fsSL https://github.com/grpc/grpc-proto/archive/ec30f589e2519d595688b9a42f88a91bdd6b733f.tar.gz | \
tar -xzf - -C third_party/grpc-proto --strip-components=1 && \
## [BEGIN IGNORED]
## Build BoringSSL once to extract its symbol list with Go, disable its CMake
## install rules (to avoid overwriting system OpenSSL headers/pkg-config), and
## rename its shared libraries so they can be installed alongside OpenSSL.
mkdir -p third_party/boringssl-with-bazel && \
curl -fsSL https://github.com/google/boringssl/archive/2b44a3701a4788e1ef866ddc7f143060a3d196c9.tar.gz | \
tar -xzf - -C third_party/boringssl-with-bazel --strip-components=1 && \
printf 'module boringssl.googlesource.com/boringssl.git\n\ngo 1.18\n' > third_party/boringssl-with-bazel/go.mod && \
cmake -S third_party/boringssl-with-bazel -B bssl-build && \
cmake --build bssl-build --target crypto ssl -- -j ${NCPU:-4} && \
(cd third_party/boringssl-with-bazel && go run util/read_symbols.go -out ../../bssl_symbols.txt ../../bssl-build/libcrypto.a ../../bssl-build/libssl.a) && \
rm -rf bssl-build && \
sed -i 's/set(INSTALL_ENABLED 1)/set(INSTALL_ENABLED 0)/' third_party/boringssl-with-bazel/CMakeLists.txt && \
printf '%s\n' \
'set_target_properties(crypto PROPERTIES OUTPUT_NAME bssl_crypto)' \
'set_target_properties(ssl PROPERTIES OUTPUT_NAME bssl_ssl)' \
'add_dependencies(ssl boringssl_prefix_symbols)' \
'target_compile_definitions(crypto PUBLIC $<BUILD_INTERFACE:BORINGSSL_PREFIX=${BORINGSSL_PREFIX}>)' \
'target_include_directories(crypto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/symbol_prefix_include>)' \
>> third_party/boringssl-with-bazel/CMakeLists.txt && \
## [DONE IGNORED]
cmake \
## [BEGIN IGNORED]
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBORINGSSL_PREFIX=bssl_grpc \
-DBORINGSSL_PREFIX_SYMBOLS="$(pwd)/bssl_symbols.txt" \
## [DONE IGNORED]
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=yes \
Expand All @@ -153,7 +193,11 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
## [BEGIN IGNORED]
-DgRPC_SSL_PROVIDER=module \
## [DONE IGNORED]
## Emit -DgRPC_SSL_PROVIDER=package into doc/packaging.md while ignoring it in Docker.
# -DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_OPENTELEMETRY_PROVIDER=package \
-S . -B cmake-out && \
Expand Down
48 changes: 46 additions & 2 deletions ci/cloudbuild/dockerfiles/demo-rockylinux-9.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,49 @@ RUN curl -fsSL https://github.com/google/re2/archive/2025-11-05.tar.gz | \

# ```bash
WORKDIR /var/tmp/build/grpc
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
## [BEGIN IGNORED]
## The [BEGIN IGNORED] / [DONE IGNORED] sections below are omitted when
## generating doc/packaging.md via ci/generate-markdown/generate-packaging.sh.
## They work around an upstream gRPC + OpenSSL issue
## (https://github.com/grpc/grpc/issues/42068) in CI by building gRPC against
## its bundled BoringSSL (-DgRPC_SSL_PROVIDER=module) with prefixed symbols
## (BORINGSSL_PREFIX=bssl_grpc) and renamed shared libraries (bssl_crypto,
## bssl_ssl) so they do not collide with system OpenSSL (libssl.so, libcrypto.so)
## at build or run time.
RUN dnf makecache && dnf install -y golang
## [DONE IGNORED]
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.84.0.tar.gz | \
tar -xzf - --strip-components=1 && \
mkdir -p third_party/grpc-proto && \
curl -fsSL https://github.com/grpc/grpc-proto/archive/ec30f589e2519d595688b9a42f88a91bdd6b733f.tar.gz | \
tar -xzf - -C third_party/grpc-proto --strip-components=1 && \
## [BEGIN IGNORED]
## Build BoringSSL once to extract its symbol list with Go, disable its CMake
## install rules (to avoid overwriting system OpenSSL headers/pkg-config), and
## rename its shared libraries so they can be installed alongside OpenSSL.
mkdir -p third_party/boringssl-with-bazel && \
curl -fsSL https://github.com/google/boringssl/archive/2b44a3701a4788e1ef866ddc7f143060a3d196c9.tar.gz | \
tar -xzf - -C third_party/boringssl-with-bazel --strip-components=1 && \
printf 'module boringssl.googlesource.com/boringssl.git\n\ngo 1.18\n' > third_party/boringssl-with-bazel/go.mod && \
cmake -S third_party/boringssl-with-bazel -B bssl-build && \
cmake --build bssl-build --target crypto ssl -- -j ${NCPU:-4} && \
(cd third_party/boringssl-with-bazel && go run util/read_symbols.go -out ../../bssl_symbols.txt ../../bssl-build/libcrypto.a ../../bssl-build/libssl.a) && \
rm -rf bssl-build && \
sed -i 's/set(INSTALL_ENABLED 1)/set(INSTALL_ENABLED 0)/' third_party/boringssl-with-bazel/CMakeLists.txt && \
printf '%s\n' \
'set_target_properties(crypto PROPERTIES OUTPUT_NAME bssl_crypto)' \
'set_target_properties(ssl PROPERTIES OUTPUT_NAME bssl_ssl)' \
'add_dependencies(ssl boringssl_prefix_symbols)' \
'target_compile_definitions(crypto PUBLIC $<BUILD_INTERFACE:BORINGSSL_PREFIX=${BORINGSSL_PREFIX}>)' \
'target_include_directories(crypto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/symbol_prefix_include>)' \
>> third_party/boringssl-with-bazel/CMakeLists.txt && \
## [DONE IGNORED]
cmake \
## [BEGIN IGNORED]
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBORINGSSL_PREFIX=bssl_grpc \
-DBORINGSSL_PREFIX_SYMBOLS="$(pwd)/bssl_symbols.txt" \
## [DONE IGNORED]
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_SHARED_LIBS=yes \
Expand All @@ -172,7 +212,11 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
## [BEGIN IGNORED]
-DgRPC_SSL_PROVIDER=module \
## [DONE IGNORED]
## Emit -DgRPC_SSL_PROVIDER=package into doc/packaging.md while ignoring it in Docker.
# -DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-S . -B cmake-out && \
cmake --build cmake-out -- -j ${NCPU:-4} && \
Expand Down
48 changes: 46 additions & 2 deletions ci/cloudbuild/dockerfiles/demo-ubuntu-24.04.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,49 @@ RUN curl -fsSL https://github.com/google/re2/archive/2025-11-05.tar.gz | \

# ```bash
WORKDIR /var/tmp/build/grpc
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
## [BEGIN IGNORED]
## The [BEGIN IGNORED] / [DONE IGNORED] sections below are omitted when
## generating doc/packaging.md via ci/generate-markdown/generate-packaging.sh.
## They work around an upstream gRPC + OpenSSL issue
## (https://github.com/grpc/grpc/issues/42068) in CI by building gRPC against
## its bundled BoringSSL (-DgRPC_SSL_PROVIDER=module) with prefixed symbols
## (BORINGSSL_PREFIX=bssl_grpc) and renamed shared libraries (bssl_crypto,
## bssl_ssl) so they do not collide with system OpenSSL (libssl.so, libcrypto.so)
## at build or run time.
RUN apt-get update && apt-get --no-install-recommends install -y golang-go
## [DONE IGNORED]
RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.84.0.tar.gz | \
tar -xzf - --strip-components=1 && \
mkdir -p third_party/grpc-proto && \
curl -fsSL https://github.com/grpc/grpc-proto/archive/ec30f589e2519d595688b9a42f88a91bdd6b733f.tar.gz | \
tar -xzf - -C third_party/grpc-proto --strip-components=1 && \
## [BEGIN IGNORED]
## Build BoringSSL once to extract its symbol list with Go, disable its CMake
## install rules (to avoid overwriting system OpenSSL headers/pkg-config), and
## rename its shared libraries so they can be installed alongside OpenSSL.
mkdir -p third_party/boringssl-with-bazel && \
curl -fsSL https://github.com/google/boringssl/archive/2b44a3701a4788e1ef866ddc7f143060a3d196c9.tar.gz | \
tar -xzf - -C third_party/boringssl-with-bazel --strip-components=1 && \
printf 'module boringssl.googlesource.com/boringssl.git\n\ngo 1.18\n' > third_party/boringssl-with-bazel/go.mod && \
cmake -S third_party/boringssl-with-bazel -B bssl-build && \
cmake --build bssl-build --target crypto ssl -- -j ${NCPU:-4} && \
(cd third_party/boringssl-with-bazel && go run util/read_symbols.go -out ../../bssl_symbols.txt ../../bssl-build/libcrypto.a ../../bssl-build/libssl.a) && \
rm -rf bssl-build && \
sed -i 's/set(INSTALL_ENABLED 1)/set(INSTALL_ENABLED 0)/' third_party/boringssl-with-bazel/CMakeLists.txt && \
printf '%s\n' \
'set_target_properties(crypto PROPERTIES OUTPUT_NAME bssl_crypto)' \
'set_target_properties(ssl PROPERTIES OUTPUT_NAME bssl_ssl)' \
'add_dependencies(ssl boringssl_prefix_symbols)' \
'target_compile_definitions(crypto PUBLIC $<BUILD_INTERFACE:BORINGSSL_PREFIX=${BORINGSSL_PREFIX}>)' \
'target_include_directories(crypto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/symbol_prefix_include>)' \
>> third_party/boringssl-with-bazel/CMakeLists.txt && \
## [DONE IGNORED]
cmake \
## [BEGIN IGNORED]
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBORINGSSL_PREFIX=bssl_grpc \
-DBORINGSSL_PREFIX_SYMBOLS="$(pwd)/bssl_symbols.txt" \
## [DONE IGNORED]
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=ON \
Expand All @@ -178,7 +218,11 @@ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
## [BEGIN IGNORED]
-DgRPC_SSL_PROVIDER=module \
## [DONE IGNORED]
## Emit -DgRPC_SSL_PROVIDER=package into doc/packaging.md while ignoring it in Docker.
# -DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_OPENTELEMETRY_PROVIDER=package \
-DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=ON \
Expand Down
Loading
Loading