From b7a9a6e352a274d2c40010555fa144e6dfe0a9d6 Mon Sep 17 00:00:00 2001 From: Mikhail Krinkin Date: Thu, 1 May 2025 11:49:45 +0000 Subject: [PATCH 1/3] Don't build WASM for fuzz-coverage tests Simple grep over the codebase suggests that we don't have any WASM specific fuzz tests defined. And existing fuzz tests don't need a full WASM runtime. On top of that in general we don't really want to fuzz test our dependencies (e.g., we would like the dependencies to have their own infrastructure and be scrupulous when new dependencies are added). Disabling WASM reduces the build time and resources required for fuzz-coverage. One particular reason to try and optimize fuzz-coverage is that I want to move it to static linking to work around a bug in Clang/LLVM (see https://github.com/llvm/llvm-project/issues/32849) and static linking produces much large binaries and requires a larger linker footprint, which currently hits the limits of the RBE backend used. Signed-off-by: Mikhail Krinkin --- .bazelrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.bazelrc b/.bazelrc index d8d1c6e4424fc..2a25654678774 100644 --- a/.bazelrc +++ b/.bazelrc @@ -271,6 +271,10 @@ build:test-coverage --test_tag_filters=-nocoverage,-fuzz_target build:fuzz-coverage --config=plain-fuzzer build:fuzz-coverage --run_under=@envoy//bazel/coverage:fuzz_coverage_wrapper.sh build:fuzz-coverage --test_tag_filters=-nocoverage +# Existing fuzz tests don't need a full WASM runtime and in generally we don't really want to +# fuzz dependencies anyways. On the other hand, disabling WASM reduces the build time and +# resources required to build and run the tests. +build:fuzz-coverage --define=wasm=disabled build:cache-local --remote_cache=grpc://localhost:9092 From 0eadb0da49176d1f71afecb8e112e0b5f94389b7 Mon Sep 17 00:00:00 2001 From: Mikhail Krinkin Date: Thu, 1 May 2025 13:53:05 +0000 Subject: [PATCH 2/3] quick test of EngFlow static linking Signed-off-by: Mikhail Krinkin --- .bazelrc | 2 +- test/server/BUILD | 1 - test/server/config_validation/BUILD | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.bazelrc b/.bazelrc index 2a25654678774..6c6061c6382a7 100644 --- a/.bazelrc +++ b/.bazelrc @@ -245,7 +245,7 @@ build:coverage --action_env=GCOV=llvm-profdata build:coverage --copt=-DNDEBUG # 1.5x original timeout + 300s for trace merger in all categories build:coverage --test_timeout=390,750,1500,5700 -build:coverage --define=dynamic_link_tests=true +build:coverage --define=dynamic_link_tests=false build:coverage --define=ENVOY_CONFIG_COVERAGE=1 build:coverage --cxxopt="-DENVOY_CONFIG_COVERAGE=1" build:coverage --test_env=HEAPCHECK= diff --git a/test/server/BUILD b/test/server/BUILD index fac1ee71961bf..7eee64fc20467 100644 --- a/test/server/BUILD +++ b/test/server/BUILD @@ -320,7 +320,6 @@ envoy_cc_fuzz_test( size = "large", srcs = ["server_fuzz_test.cc"], corpus = "server_corpus", - rbe_pool = "6gig", deps = [ "//source/common/thread_local:thread_local_lib", "//source/server:server_lib", diff --git a/test/server/config_validation/BUILD b/test/server/config_validation/BUILD index 7560e35268767..3c9c1a5d048fd 100644 --- a/test/server/config_validation/BUILD +++ b/test/server/config_validation/BUILD @@ -93,7 +93,6 @@ envoy_cc_fuzz_test( size = "large", srcs = ["config_fuzz_test.cc"], corpus = "//test/server:server_fuzz_test_corpus", - rbe_pool = "6gig", deps = [ "//source/common/common:thread_lib", "//source/server/config_validation:server_lib", From 58caa5cec92bc53f28f8e82137703d80dfdc26cb Mon Sep 17 00:00:00 2001 From: Mikhail Krinkin Date: Thu, 1 May 2025 15:07:35 +0000 Subject: [PATCH 3/3] Temporarily re-enable dynamic linking Signed-off-by: Mikhail Krinkin --- .bazelrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bazelrc b/.bazelrc index 6c6061c6382a7..2a25654678774 100644 --- a/.bazelrc +++ b/.bazelrc @@ -245,7 +245,7 @@ build:coverage --action_env=GCOV=llvm-profdata build:coverage --copt=-DNDEBUG # 1.5x original timeout + 300s for trace merger in all categories build:coverage --test_timeout=390,750,1500,5700 -build:coverage --define=dynamic_link_tests=false +build:coverage --define=dynamic_link_tests=true build:coverage --define=ENVOY_CONFIG_COVERAGE=1 build:coverage --cxxopt="-DENVOY_CONFIG_COVERAGE=1" build:coverage --test_env=HEAPCHECK=