From b4fd043d795cd2dfe12bc11959f4eb3e4fb643cc Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Thu, 16 Apr 2020 16:38:17 -0400 Subject: [PATCH 01/19] Demonstrate working RBE+Windows build - image uri/tag point to our temporary testing image, needs to be updated to the image in the envoyproxy repo - urls of bazel-toolchains and envoy-build-tools point to our spike branches, need to be changed to real versions once they are upstreamed - builds envoy-static and runs tests Co-authored-by: William A Rowe Jr Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Signed-off-by: Sunjay Bhatia Co-authored-by: William A Rowe Jr Co-authored-by: Sunjay Bhatia Co-authored-by: William A Rowe Jr Co-authored-by: Sunjay Bhatia --- .azure-pipelines/pipelines.yml | 2 ++ .bazelrc | 17 +++++++++++++++++ bazel/repository_locations.bzl | 24 ++++++++++++++++-------- ci/run_envoy_docker_windows.sh | 3 ++- ci/windows_ci_steps.sh | 10 ++-------- 5 files changed, 39 insertions(+), 17 deletions(-) diff --git a/.azure-pipelines/pipelines.yml b/.azure-pipelines/pipelines.yml index 9f58e32fac0c1..1bfd806f8a2ad 100644 --- a/.azure-pipelines/pipelines.yml +++ b/.azure-pipelines/pipelines.yml @@ -133,6 +133,8 @@ jobs: - bash: ci/run_envoy_docker_windows.sh ci/windows_ci_steps.sh displayName: "Run Windows CI" env: + ENVOY_RBE: "true" + BAZEL_BUILD_EXTRA_OPTIONS: "--config=remote-ci --config=remote-msvc-cl --jobs=$(RbeJobs)" BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance GCP_SERVICE_ACCOUNT_KEY: $(GcpServiceAccountKey) diff --git a/.bazelrc b/.bazelrc index f39013f270003..1cc6f9b4a2c28 100644 --- a/.bazelrc +++ b/.bazelrc @@ -136,6 +136,11 @@ build:rbe-toolchain-gcc --config=rbe-toolchain build:rbe-toolchain-gcc --crosstool_top=@rbe_ubuntu_gcc//cc:toolchain build:rbe-toolchain-gcc --extra_toolchains=@rbe_ubuntu_gcc//config:cc-toolchain +build:rbe-toolchain-msvc-cl --host_platform=@rbe_windows_msvc_cl//config:platform +build:rbe-toolchain-msvc-cl --platforms=@rbe_windows_msvc_cl//config:platform +build:rbe-toolchain-msvc-cl --crosstool_top=@rbe_windows_msvc_cl//cc:toolchain +build:rbe-toolchain-msvc-cl --extra_toolchains=@rbe_windows_msvc_cl//config:cc-toolchain + build:remote --spawn_strategy=remote,sandboxed,local build:remote --strategy=Javac=remote,sandboxed,local build:remote --strategy=Closure=remote,sandboxed,local @@ -144,6 +149,15 @@ build:remote --remote_timeout=7200 build:remote --auth_enabled=true build:remote --remote_download_toplevel +# Windows bazel does not allow sandboxed as a spawn strategy +build:remote-windows --spawn_strategy=remote,local +build:remote-windows --strategy=Javac=remote,local +build:remote-windows --strategy=Closure=remote,local +build:remote-windows --strategy=Genrule=remote,local +build:remote-windows --remote_timeout=7200 +build:remote-windows --auth_enabled=true +build:remote-windows --remote_download_toplevel + build:remote-clang --config=remote build:remote-clang --config=rbe-toolchain-clang @@ -157,6 +171,9 @@ build:remote-msan --config=remote build:remote-msan --config=rbe-toolchain-clang-libc++ build:remote-msan --config=rbe-toolchain-msan +build:remote-msvc-cl --config=remote-windows +build:remote-msvc-cl --config=rbe-toolchain-msvc-cl + # Docker sandbox # NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8 build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:09a5a914c904faa39dbc641181cb43b68cabf626 diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl index 9561aae50d6f1..8236f6873eab1 100644 --- a/bazel/repository_locations.bzl +++ b/bazel/repository_locations.bzl @@ -53,13 +53,18 @@ DEPENDENCY_REPOSITORIES = dict( use_category = ["build"], ), bazel_toolchains = dict( - sha256 = "239a1a673861eabf988e9804f45da3b94da28d1aff05c373b013193c315d9d9e", - strip_prefix = "bazel-toolchains-3.0.1", + sha256 = "996c7a9af75239fa399d0ee795b95069a94a9ec72443406f158300295bbb5cba", + strip_prefix = "bazel-toolchains-enable-docker-toolchain-non-linux", urls = [ - "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.0.1/bazel-toolchains-3.0.1.tar.gz", - "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/3.0.1.tar.gz", + "https://github.com/greenhouse-org/bazel-toolchains/archive/enable-docker-toolchain-non-linux.tar.gz", ], use_category = ["build"], + # sha256 = "239a1a673861eabf988e9804f45da3b94da28d1aff05c373b013193c315d9d9e", + # strip_prefix = "bazel-toolchains-3.0.1", + # urls = [ + # "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.0.1/bazel-toolchains-3.0.1.tar.gz", + # "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/3.0.1.tar.gz", + # ], ), build_bazel_rules_apple = dict( sha256 = "7a7afdd4869bb201c9352eed2daf37294d42b093579b70423490c1b4d4f6ce42", @@ -67,10 +72,13 @@ DEPENDENCY_REPOSITORIES = dict( use_category = ["build"], ), envoy_build_tools = dict( - sha256 = "9d348f92ae8fb2495393109aac28aea314ad1fb013cdec1ab7b1224f804be1b7", - strip_prefix = "envoy-build-tools-823c2e9386eee5117f7ef9e3d7c90e784cd0d047", - # 2020-04-07 - urls = ["https://github.com/envoyproxy/envoy-build-tools/archive/823c2e9386eee5117f7ef9e3d7c90e784cd0d047.tar.gz"], + # sha256 = "9d348f92ae8fb2495393109aac28aea314ad1fb013cdec1ab7b1224f804be1b7", + # strip_prefix = "envoy-build-tools-823c2e9386eee5117f7ef9e3d7c90e784cd0d047", + # # 2020-04-07 + # urls = ["https://github.com/envoyproxy/envoy-build-tools/archive/823c2e9386eee5117f7ef9e3d7c90e784cd0d047.tar.gz"], + sha256 = "3785e6f56428054ea25c98407996ab0e157a7296f7afd8f6ca39b3daa29897de", + strip_prefix = "envoy-build-tools-7d6ebc89394af6e54073753b4a50c1ec5eecc889", + urls = ["https://github.com/greenhouse-org/envoy-build-tools/archive/7d6ebc89394af6e54073753b4a50c1ec5eecc889.tar.gz"], use_category = ["build"], ), boringssl = dict( diff --git a/ci/run_envoy_docker_windows.sh b/ci/run_envoy_docker_windows.sh index 023234e21b715..877baeaa203f9 100644 --- a/ci/run_envoy_docker_windows.sh +++ b/ci/run_envoy_docker_windows.sh @@ -17,7 +17,8 @@ ENVOY_SOURCE_DIR=$(echo "${PWD}" | sed -E "s#/([a-zA-Z])/#\1:/#") [[ -t 1 ]] && DOCKER_TTY_OPTION=-it -export ENVOY_BUILD_IMAGE="${IMAGE_NAME}:${IMAGE_ID}" +# export ENVOY_BUILD_IMAGE="${IMAGE_NAME}:${IMAGE_ID}" +export ENVOY_BUILD_IMAGE="gcr.io/cf-envoy-windows-basilisk/envoy-build-windows@sha256:2fd061c9c0ae340cb125c42631ac6d91caa3d07e45f08af5a1df2e8b0f62d3ef" # Since we specify an explicit hash, docker-run will pull from the remote repo if missing. docker run --rm ${DOCKER_TTY_OPTION} -e HTTP_PROXY=${http_proxy} -e HTTPS_PROXY=${https_proxy} \ diff --git a/ci/windows_ci_steps.sh b/ci/windows_ci_steps.sh index 0ded44c4dd82b..16d3a655500e2 100755 --- a/ci/windows_ci_steps.sh +++ b/ci/windows_ci_steps.sh @@ -26,18 +26,12 @@ fi BAZEL_STARTUP_OPTIONS="--output_base=c:/_eb" BAZEL_BUILD_OPTIONS="-c opt --config=msvc-cl --show_task_finish --verbose_failures \ - --test_output=all ${BAZEL_BUILD_EXTRA_OPTIONS} ${BAZEL_EXTRA_TEST_OPTIONS}" - -# With all envoy-static and //test/ tree building, no need to test compile externals -# bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //bazel/... --build_tag_filters=-skip_on_windows + --test_output=errors ${BAZEL_BUILD_EXTRA_OPTIONS} ${BAZEL_EXTRA_TEST_OPTIONS}" bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //source/exe:envoy-static --build_tag_filters=-skip_on_windows -# TODO(sunjayBhatia, wrowe): We are disabling building/running tests for now as the AZP pipelines -# workers do not provide enough resources for us to produce fast enough or reliable enough builds. -# Test compilation of known MSVC-compatible test sources # bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows --build_tests_only # Test invocations of known-working tests on Windows -# bazel ${BAZEL_STARTUP_OPTIONS} test ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,-fails_on_windows --build_tests_only --test_summary=terse --test_output=errors +bazel ${BAZEL_STARTUP_OPTIONS} test ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,-fails_on_windows --build_tests_only From 6f9e6f4697794a003fbecee2f2761fc7ca112977 Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Wed, 27 May 2020 20:05:51 -0400 Subject: [PATCH 02/19] Bump envoy-build-tools and bazel-toolchains - Also bump build image tag - Use same mechanism to find build image tag on Windows and Linux Signed-off-by: Sunjay Bhatia --- .bazelrc | 2 +- bazel/repository_locations.bzl | 26 ++++++++------------------ ci/run_envoy_docker_windows.sh | 8 +++----- ci/windows_ci_steps.sh | 2 -- 4 files changed, 12 insertions(+), 26 deletions(-) diff --git a/.bazelrc b/.bazelrc index 0aea27179b191..109a913ceb0d2 100644 --- a/.bazelrc +++ b/.bazelrc @@ -199,7 +199,7 @@ build:remote-msvc-cl --config=rbe-toolchain-msvc-cl # Docker sandbox # NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8 -build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:04f06115b6ee7cfea74930353fb47a41149cbec3 +build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:12b3d2c2ffa582507e5d6dd34632b2b990f1b195 build:docker-sandbox --spawn_strategy=docker build:docker-sandbox --strategy=Javac=docker build:docker-sandbox --strategy=Closure=docker diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl index dd12c145260fc..3e804d72e871a 100644 --- a/bazel/repository_locations.bzl +++ b/bazel/repository_locations.bzl @@ -53,18 +53,11 @@ DEPENDENCY_REPOSITORIES = dict( use_category = ["build"], ), bazel_toolchains = dict( - sha256 = "996c7a9af75239fa399d0ee795b95069a94a9ec72443406f158300295bbb5cba", - strip_prefix = "bazel-toolchains-enable-docker-toolchain-non-linux", - urls = [ - "https://github.com/greenhouse-org/bazel-toolchains/archive/enable-docker-toolchain-non-linux.tar.gz", - ], + sha256 = "5d48b13686081f5d07dbba1271595d1bb2b5fa1d2f8c049ef15011bd4e6bdd19", + strip_prefix = "bazel-toolchains-834b89b3f608a9aa4c212e7ee4a05b323b980a85", + # 2020-05-21 + urls = ["https://github.com/bazelbuild/bazel-toolchains/archive/834b89b3f608a9aa4c212e7ee4a05b323b980a85.tar.gz"], use_category = ["build"], - # sha256 = "239a1a673861eabf988e9804f45da3b94da28d1aff05c373b013193c315d9d9e", - # strip_prefix = "bazel-toolchains-3.0.1", - # urls = [ - # "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.0.1/bazel-toolchains-3.0.1.tar.gz", - # "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/3.0.1.tar.gz", - # ], ), build_bazel_rules_apple = dict( sha256 = "7a7afdd4869bb201c9352eed2daf37294d42b093579b70423490c1b4d4f6ce42", @@ -72,13 +65,10 @@ DEPENDENCY_REPOSITORIES = dict( use_category = ["build"], ), envoy_build_tools = dict( - # sha256 = "9d348f92ae8fb2495393109aac28aea314ad1fb013cdec1ab7b1224f804be1b7", - # strip_prefix = "envoy-build-tools-823c2e9386eee5117f7ef9e3d7c90e784cd0d047", - # # 2020-04-07 - # urls = ["https://github.com/envoyproxy/envoy-build-tools/archive/823c2e9386eee5117f7ef9e3d7c90e784cd0d047.tar.gz"], - sha256 = "3785e6f56428054ea25c98407996ab0e157a7296f7afd8f6ca39b3daa29897de", - strip_prefix = "envoy-build-tools-7d6ebc89394af6e54073753b4a50c1ec5eecc889", - urls = ["https://github.com/greenhouse-org/envoy-build-tools/archive/7d6ebc89394af6e54073753b4a50c1ec5eecc889.tar.gz"], + sha256 = "6839c15e0c9dd306a977685334c91544050ca7a68705cd5c4aa318df0f1893b3", + strip_prefix = "envoy-build-tools-7f64276cf203e391d2519f799bb3e141a6cd8187", + # 2020-05-27 + urls = ["https://github.com/greenhouse-org/envoy-build-tools/archive/7f64276cf203e391d2519f799bb3e141a6cd8187.tar.gz"], use_category = ["build"], ), boringssl = dict( diff --git a/ci/run_envoy_docker_windows.sh b/ci/run_envoy_docker_windows.sh index 9ec8fcd9a16e3..a1f4e7372b527 100644 --- a/ci/run_envoy_docker_windows.sh +++ b/ci/run_envoy_docker_windows.sh @@ -2,9 +2,8 @@ set -e -# TODO(sunjayBhatia, wrowe): update this note once we have an RBE toolchain generated for Windows -# NOTE: Update this from the latest pushed image here: https://hub.docker.com/r/envoyproxy/envoy-build-windows2019/tags -ENVOY_BUILD_SHA="9b7dc527351b9888805377a05e5975d6ef8d6ae1" +# The image tag for the Windows image is the same as the Linux one so we use the same mechanism to find it +. $(dirname $0)/envoy_build_sha.sh [[ -z "${IMAGE_NAME}" ]] && IMAGE_NAME="envoyproxy/envoy-build-windows2019" # The IMAGE_ID defaults to the CI hash but can be set to an arbitrary image ID (found with 'docker @@ -17,8 +16,7 @@ ENVOY_SOURCE_DIR=$(echo "${PWD}" | sed -E "s#/([a-zA-Z])/#\1:/#") [[ -t 1 ]] && DOCKER_TTY_OPTION=-it -# export ENVOY_BUILD_IMAGE="${IMAGE_NAME}:${IMAGE_ID}" -export ENVOY_BUILD_IMAGE="gcr.io/cf-envoy-windows-basilisk/envoy-build-windows@sha256:2fd061c9c0ae340cb125c42631ac6d91caa3d07e45f08af5a1df2e8b0f62d3ef" +export ENVOY_BUILD_IMAGE="${IMAGE_NAME}:${IMAGE_ID}" # Since we specify an explicit hash, docker-run will pull from the remote repo if missing. docker run --rm ${DOCKER_TTY_OPTION} -e HTTP_PROXY=${http_proxy} -e HTTPS_PROXY=${https_proxy} \ diff --git a/ci/windows_ci_steps.sh b/ci/windows_ci_steps.sh index 16d3a655500e2..367b0619bf26e 100755 --- a/ci/windows_ci_steps.sh +++ b/ci/windows_ci_steps.sh @@ -30,8 +30,6 @@ BAZEL_BUILD_OPTIONS="-c opt --config=msvc-cl --show_task_finish --verbose_failur bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //source/exe:envoy-static --build_tag_filters=-skip_on_windows -# bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows --build_tests_only - # Test invocations of known-working tests on Windows bazel ${BAZEL_STARTUP_OPTIONS} test ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,-fails_on_windows --build_tests_only From b6dcd432eb128398f3dc455f08403bc96075be37 Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Wed, 27 May 2020 20:41:13 -0400 Subject: [PATCH 03/19] Fix format for clang10 Signed-off-by: Sunjay Bhatia --- source/common/common/thread.h | 6 +++--- source/extensions/common/tap/admin.cc | 2 +- .../extensions/filters/http/ext_authz/ext_authz.cc | 2 +- test/mocks/common.h | 6 +++--- test/test_common/simulated_time_system.cc | 7 ++++--- test/test_common/simulated_time_system.h | 6 +++--- test/test_common/test_time.h | 6 +++--- test/test_common/test_time_system.h | 13 +++++++------ 8 files changed, 25 insertions(+), 23 deletions(-) diff --git a/source/common/common/thread.h b/source/common/common/thread.h index bbad9fee6913c..4808d391dfbdc 100644 --- a/source/common/common/thread.h +++ b/source/common/common/thread.h @@ -64,9 +64,9 @@ class CondVar { * @return WaitStatus whether the condition timed out or not. */ template - WaitStatus waitFor( - MutexBasicLockable& mutex, - std::chrono::duration duration) noexcept ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex) { + WaitStatus waitFor(MutexBasicLockable& mutex, + std::chrono::duration duration) noexcept + ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex) { return condvar_.WaitWithTimeout(&mutex.mutex_, absl::FromChrono(duration)) ? WaitStatus::Timeout : WaitStatus::NoTimeout; diff --git a/source/extensions/common/tap/admin.cc b/source/extensions/common/tap/admin.cc index b6c4449db1774..9dc6b9b08411e 100644 --- a/source/extensions/common/tap/admin.cc +++ b/source/extensions/common/tap/admin.cc @@ -110,7 +110,7 @@ void AdminHandler::AdminPerTapSinkHandle::submitTrace( std::shared_ptr shared_trace{std::move(trace)}; // The handle can be destroyed before the cross thread post is complete. Thus, we capture a // reference to our parent. - parent_.main_thread_dispatcher_.post([& parent = parent_, trace = shared_trace, format]() { + parent_.main_thread_dispatcher_.post([&parent = parent_, trace = shared_trace, format]() { if (!parent.attached_request_.has_value()) { return; } diff --git a/source/extensions/filters/http/ext_authz/ext_authz.cc b/source/extensions/filters/http/ext_authz/ext_authz.cc index e3f754e078413..49932078571e7 100644 --- a/source/extensions/filters/http/ext_authz/ext_authz.cc +++ b/source/extensions/filters/http/ext_authz/ext_authz.cc @@ -201,7 +201,7 @@ void Filter::onComplete(Filters::Common::ExtAuthz::ResponsePtr&& response) { callbacks_->sendLocalReply( response->status_code, response->body, - [& headers = response->headers_to_add, + [&headers = response->headers_to_add, &callbacks = *callbacks_](Http::HeaderMap& response_headers) -> void { ENVOY_STREAM_LOG(trace, "ext_authz filter added header(s) to the local response:", callbacks); diff --git a/test/mocks/common.h b/test/mocks/common.h index 89b7c3e9ca3eb..556e602d1919b 100644 --- a/test/mocks/common.h +++ b/test/mocks/common.h @@ -57,9 +57,9 @@ class MockTimeSystem : public Event::TestTimeSystem { void advanceTimeAsync(const Duration& duration) override { real_time_.advanceTimeAsync(duration); } - Thread::CondVar::WaitStatus - waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex) override { + Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept + ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex) override { return real_time_.waitFor(mutex, condvar, duration); // NO_CHECK_FORMAT(real_time) } MOCK_METHOD(SystemTime, systemTime, ()); diff --git a/test/test_common/simulated_time_system.cc b/test/test_common/simulated_time_system.cc index 92f7f81a81970..e6bc07a24e423 100644 --- a/test/test_common/simulated_time_system.cc +++ b/test/test_common/simulated_time_system.cc @@ -247,9 +247,10 @@ void SimulatedTimeSystemHelper::waitForNoPendingLockHeld() const EXCLUSIVE_LOCKS &pending_alarms_)); } -Thread::CondVar::WaitStatus SimulatedTimeSystemHelper::waitFor( - Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) { +Thread::CondVar::WaitStatus SimulatedTimeSystemHelper::waitFor(Thread::MutexBasicLockable& mutex, + Thread::CondVar& condvar, + const Duration& duration) noexcept + EXCLUSIVE_LOCKS_REQUIRED(mutex) { only_one_thread_.checkOneThread(); // TODO(#10568): This real-time polling delay should not be necessary. Without diff --git a/test/test_common/simulated_time_system.h b/test/test_common/simulated_time_system.h index 04e411a171d3f..4bd73552ef66d 100644 --- a/test/test_common/simulated_time_system.h +++ b/test/test_common/simulated_time_system.h @@ -28,9 +28,9 @@ class SimulatedTimeSystemHelper : public TestTimeSystem { // TestTimeSystem void advanceTimeWait(const Duration& duration) override; void advanceTimeAsync(const Duration& duration) override; - Thread::CondVar::WaitStatus - waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) override; + Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept + EXCLUSIVE_LOCKS_REQUIRED(mutex) override; // TimeSource SystemTime systemTime() override; diff --git a/test/test_common/test_time.h b/test/test_common/test_time.h index bb7ceeb06ca40..41a4db41a629b 100644 --- a/test/test_common/test_time.h +++ b/test/test_common/test_time.h @@ -14,9 +14,9 @@ class TestRealTimeSystem : public TestTimeSystem { // TestTimeSystem void advanceTimeAsync(const Duration& duration) override; void advanceTimeWait(const Duration& duration) override; - Thread::CondVar::WaitStatus - waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) override; + Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept + EXCLUSIVE_LOCKS_REQUIRED(mutex) override; // Event::TimeSystem Event::SchedulerPtr createScheduler(Scheduler& base_scheduler) override { diff --git a/test/test_common/test_time_system.h b/test/test_common/test_time_system.h index fd501f7b33932..52f0ddf8c2380 100644 --- a/test/test_common/test_time_system.h +++ b/test/test_common/test_time_system.h @@ -56,9 +56,10 @@ class TestTimeSystem : public Event::TimeSystem { * @param duration The maximum amount of time to wait. * @return Thread::CondVar::WaitStatus whether the condition timed out or not. */ - virtual Thread::CondVar::WaitStatus - waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) PURE; + virtual Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, + Thread::CondVar& condvar, + const Duration& duration) noexcept + EXCLUSIVE_LOCKS_REQUIRED(mutex) PURE; template Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, @@ -107,9 +108,9 @@ template class DelegatingTestTimeSystemBase : public T timeSystem().advanceTimeWait(duration); } - Thread::CondVar::WaitStatus - waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) override { + Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept + EXCLUSIVE_LOCKS_REQUIRED(mutex) override { return timeSystem().waitFor(mutex, condvar, duration); } From 7c28955cc66c2761a62f4cefa284ffffe156b913 Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Wed, 27 May 2020 21:39:49 -0400 Subject: [PATCH 04/19] See if build failure is a persistent issue to look in to Signed-off-by: Sunjay Bhatia From e86fb3707d7546465dbe3312b2d6ecc8c12c73b6 Mon Sep 17 00:00:00 2001 From: William A Rowe Jr Date: Thu, 4 Jun 2020 19:23:51 -0400 Subject: [PATCH 05/19] Update to current bazelbuild, envoy-build-tools - Brings in newly generated ubuntu, windows docker images for RBE Signed-off-by: William A Rowe Jr --- .bazelrc | 2 +- bazel/repository_locations.bzl | 39 ++++++++++++++++++++++------------ 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/.bazelrc b/.bazelrc index 109a913ceb0d2..76b7a7cc4bae6 100644 --- a/.bazelrc +++ b/.bazelrc @@ -199,7 +199,7 @@ build:remote-msvc-cl --config=rbe-toolchain-msvc-cl # Docker sandbox # NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8 -build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:12b3d2c2ffa582507e5d6dd34632b2b990f1b195 +build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:78d0e79e619c823d52d192a9b2fd030f66c5ac2c build:docker-sandbox --spawn_strategy=docker build:docker-sandbox --strategy=Javac=docker build:docker-sandbox --strategy=Closure=docker diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl index 3e804d72e871a..b338199a33f4e 100644 --- a/bazel/repository_locations.bzl +++ b/bazel/repository_locations.bzl @@ -53,10 +53,12 @@ DEPENDENCY_REPOSITORIES = dict( use_category = ["build"], ), bazel_toolchains = dict( - sha256 = "5d48b13686081f5d07dbba1271595d1bb2b5fa1d2f8c049ef15011bd4e6bdd19", - strip_prefix = "bazel-toolchains-834b89b3f608a9aa4c212e7ee4a05b323b980a85", - # 2020-05-21 - urls = ["https://github.com/bazelbuild/bazel-toolchains/archive/834b89b3f608a9aa4c212e7ee4a05b323b980a85.tar.gz"], + sha256 = "db48eed61552e25d36fe051a65d2a329cc0fb08442627e8f13960c5ab087a44e", + strip_prefix = "bazel-toolchains-3.2.0", + urls = [ + "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.2.0/bazel-toolchains-3.2.0.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/3.2.0.tar.gz", + ], use_category = ["build"], ), build_bazel_rules_apple = dict( @@ -65,10 +67,10 @@ DEPENDENCY_REPOSITORIES = dict( use_category = ["build"], ), envoy_build_tools = dict( - sha256 = "6839c15e0c9dd306a977685334c91544050ca7a68705cd5c4aa318df0f1893b3", - strip_prefix = "envoy-build-tools-7f64276cf203e391d2519f799bb3e141a6cd8187", - # 2020-05-27 - urls = ["https://github.com/greenhouse-org/envoy-build-tools/archive/7f64276cf203e391d2519f799bb3e141a6cd8187.tar.gz"], + sha256 = "b10206bcd938eb266d479a6b8fceec6f30aec8df84193f6d8e18106aa8d2926d", + strip_prefix = "envoy-build-tools-bb7f604e1eb67c2d0dfa9f243a6ed5dc1d161413", + # 2020-06-04 + urls = ["https://github.com/envoyproxy/envoy-build-tools/archive/bb7f604e1eb67c2d0dfa9f243a6ed5dc1d161413.tar.gz"], use_category = ["build"], ), boringssl = dict( @@ -199,9 +201,9 @@ DEPENDENCY_REPOSITORIES = dict( cpe = "N/A", ), com_github_nghttp2_nghttp2 = dict( - sha256 = "eb9d9046495a49dd40c7ef5d6c9907b51e5a6b320ea6e2add11eb8b52c982c47", - strip_prefix = "nghttp2-1.40.0", - urls = ["https://github.com/nghttp2/nghttp2/releases/download/v1.40.0/nghttp2-1.40.0.tar.gz"], + sha256 = "eacc6f0f8543583ecd659faf0a3f906ed03826f1d4157b536b4b385fe47c5bb8", + strip_prefix = "nghttp2-1.41.0", + urls = ["https://github.com/nghttp2/nghttp2/releases/download/v1.41.0/nghttp2-1.41.0.tar.gz"], use_category = ["dataplane"], cpe = "cpe:2.3:a:nghttp2:nghttp2:*", ), @@ -261,9 +263,10 @@ DEPENDENCY_REPOSITORIES = dict( cpe = "cpe:2.3:a:gnu:zlib:*", ), com_github_jbeder_yaml_cpp = dict( - sha256 = "77ea1b90b3718aa0c324207cb29418f5bced2354c2e483a9523d98c3460af1ed", - strip_prefix = "yaml-cpp-yaml-cpp-0.6.3", - urls = ["https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.6.3.tar.gz"], + sha256 = "17ffa6320c33de65beec33921c9334dee65751c8a4b797ba5517e844062b98f1", + strip_prefix = "yaml-cpp-6701275f1910bf63631528dfd9df9c3ac787365b", + # 2020-05-25 + urls = ["https://github.com/jbeder/yaml-cpp/archive/6701275f1910bf63631528dfd9df9c3ac787365b.tar.gz"], use_category = ["dataplane"], cpe = "N/A", ), @@ -356,6 +359,14 @@ DEPENDENCY_REPOSITORIES = dict( urls = ["https://github.com/bazelbuild/rules_go/releases/download/v0.20.3/rules_go-v0.20.3.tar.gz"], use_category = ["build"], ), + rules_cc = dict( + sha256 = "9d48151ea71b3e225adfb6867e6d2c7d0dce46cbdc8710d9a9a628574dfd40a0", + strip_prefix = "rules_cc-818289e5613731ae410efb54218a4077fb9dbb03", + # 2020-05-13 + # TODO(lizan): pin to a point releases when there's a released version. + urls = ["https://github.com/bazelbuild/rules_cc/archive/818289e5613731ae410efb54218a4077fb9dbb03.tar.gz"], + use_category = ["build"], + ), rules_foreign_cc = dict( sha256 = "3184c244b32e65637a74213fc448964b687390eeeca42a36286f874c046bba15", strip_prefix = "rules_foreign_cc-7bc4be735b0560289f6b86ab6136ee25d20b65b7", From d34894a1d0b5a98d5bc7c95042304ce93372cabf Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Thu, 4 Jun 2020 20:07:20 -0400 Subject: [PATCH 06/19] Undo changes for clang10 and update image/comment for Windows Signed-off-by: Sunjay Bhatia --- .bazelrc | 2 +- ci/run_envoy_docker_windows.sh | 4 +++- source/common/common/thread.h | 6 +++--- source/extensions/common/tap/admin.cc | 2 +- .../extensions/filters/http/ext_authz/ext_authz.cc | 2 +- test/mocks/common.h | 6 +++--- test/test_common/simulated_time_system.cc | 7 +++---- test/test_common/simulated_time_system.h | 6 +++--- test/test_common/test_time.h | 6 +++--- test/test_common/test_time_system.h | 13 ++++++------- 10 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.bazelrc b/.bazelrc index 76b7a7cc4bae6..0aea27179b191 100644 --- a/.bazelrc +++ b/.bazelrc @@ -199,7 +199,7 @@ build:remote-msvc-cl --config=rbe-toolchain-msvc-cl # Docker sandbox # NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8 -build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:78d0e79e619c823d52d192a9b2fd030f66c5ac2c +build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:04f06115b6ee7cfea74930353fb47a41149cbec3 build:docker-sandbox --spawn_strategy=docker build:docker-sandbox --strategy=Javac=docker build:docker-sandbox --strategy=Closure=docker diff --git a/ci/run_envoy_docker_windows.sh b/ci/run_envoy_docker_windows.sh index a1f4e7372b527..e7acdf5f468f0 100644 --- a/ci/run_envoy_docker_windows.sh +++ b/ci/run_envoy_docker_windows.sh @@ -3,7 +3,9 @@ set -e # The image tag for the Windows image is the same as the Linux one so we use the same mechanism to find it -. $(dirname $0)/envoy_build_sha.sh +# TODO(sunjayBhatia, wrowe): uncomment this once Linux CI catches up to using the latest toolchain container image +# . $(dirname $0)/envoy_build_sha.sh +ENVOY_BUILD_SHA="78d0e79e619c823d52d192a9b2fd030f66c5ac2c" [[ -z "${IMAGE_NAME}" ]] && IMAGE_NAME="envoyproxy/envoy-build-windows2019" # The IMAGE_ID defaults to the CI hash but can be set to an arbitrary image ID (found with 'docker diff --git a/source/common/common/thread.h b/source/common/common/thread.h index 4808d391dfbdc..bbad9fee6913c 100644 --- a/source/common/common/thread.h +++ b/source/common/common/thread.h @@ -64,9 +64,9 @@ class CondVar { * @return WaitStatus whether the condition timed out or not. */ template - WaitStatus waitFor(MutexBasicLockable& mutex, - std::chrono::duration duration) noexcept - ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex) { + WaitStatus waitFor( + MutexBasicLockable& mutex, + std::chrono::duration duration) noexcept ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex) { return condvar_.WaitWithTimeout(&mutex.mutex_, absl::FromChrono(duration)) ? WaitStatus::Timeout : WaitStatus::NoTimeout; diff --git a/source/extensions/common/tap/admin.cc b/source/extensions/common/tap/admin.cc index 9dc6b9b08411e..b6c4449db1774 100644 --- a/source/extensions/common/tap/admin.cc +++ b/source/extensions/common/tap/admin.cc @@ -110,7 +110,7 @@ void AdminHandler::AdminPerTapSinkHandle::submitTrace( std::shared_ptr shared_trace{std::move(trace)}; // The handle can be destroyed before the cross thread post is complete. Thus, we capture a // reference to our parent. - parent_.main_thread_dispatcher_.post([&parent = parent_, trace = shared_trace, format]() { + parent_.main_thread_dispatcher_.post([& parent = parent_, trace = shared_trace, format]() { if (!parent.attached_request_.has_value()) { return; } diff --git a/source/extensions/filters/http/ext_authz/ext_authz.cc b/source/extensions/filters/http/ext_authz/ext_authz.cc index 38d62a85a051c..a5960424dc28f 100644 --- a/source/extensions/filters/http/ext_authz/ext_authz.cc +++ b/source/extensions/filters/http/ext_authz/ext_authz.cc @@ -212,7 +212,7 @@ void Filter::onComplete(Filters::Common::ExtAuthz::ResponsePtr&& response) { callbacks_->sendLocalReply( response->status_code, response->body, - [&headers = response->headers_to_add, + [& headers = response->headers_to_add, &callbacks = *callbacks_](Http::HeaderMap& response_headers) -> void { ENVOY_STREAM_LOG(trace, "ext_authz filter added header(s) to the local response:", callbacks); diff --git a/test/mocks/common.h b/test/mocks/common.h index 556e602d1919b..89b7c3e9ca3eb 100644 --- a/test/mocks/common.h +++ b/test/mocks/common.h @@ -57,9 +57,9 @@ class MockTimeSystem : public Event::TestTimeSystem { void advanceTimeAsync(const Duration& duration) override { real_time_.advanceTimeAsync(duration); } - Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept - ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex) override { + Thread::CondVar::WaitStatus + waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex) override { return real_time_.waitFor(mutex, condvar, duration); // NO_CHECK_FORMAT(real_time) } MOCK_METHOD(SystemTime, systemTime, ()); diff --git a/test/test_common/simulated_time_system.cc b/test/test_common/simulated_time_system.cc index e6bc07a24e423..92f7f81a81970 100644 --- a/test/test_common/simulated_time_system.cc +++ b/test/test_common/simulated_time_system.cc @@ -247,10 +247,9 @@ void SimulatedTimeSystemHelper::waitForNoPendingLockHeld() const EXCLUSIVE_LOCKS &pending_alarms_)); } -Thread::CondVar::WaitStatus SimulatedTimeSystemHelper::waitFor(Thread::MutexBasicLockable& mutex, - Thread::CondVar& condvar, - const Duration& duration) noexcept - EXCLUSIVE_LOCKS_REQUIRED(mutex) { +Thread::CondVar::WaitStatus SimulatedTimeSystemHelper::waitFor( + Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) { only_one_thread_.checkOneThread(); // TODO(#10568): This real-time polling delay should not be necessary. Without diff --git a/test/test_common/simulated_time_system.h b/test/test_common/simulated_time_system.h index 4bd73552ef66d..04e411a171d3f 100644 --- a/test/test_common/simulated_time_system.h +++ b/test/test_common/simulated_time_system.h @@ -28,9 +28,9 @@ class SimulatedTimeSystemHelper : public TestTimeSystem { // TestTimeSystem void advanceTimeWait(const Duration& duration) override; void advanceTimeAsync(const Duration& duration) override; - Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept - EXCLUSIVE_LOCKS_REQUIRED(mutex) override; + Thread::CondVar::WaitStatus + waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) override; // TimeSource SystemTime systemTime() override; diff --git a/test/test_common/test_time.h b/test/test_common/test_time.h index 41a4db41a629b..bb7ceeb06ca40 100644 --- a/test/test_common/test_time.h +++ b/test/test_common/test_time.h @@ -14,9 +14,9 @@ class TestRealTimeSystem : public TestTimeSystem { // TestTimeSystem void advanceTimeAsync(const Duration& duration) override; void advanceTimeWait(const Duration& duration) override; - Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept - EXCLUSIVE_LOCKS_REQUIRED(mutex) override; + Thread::CondVar::WaitStatus + waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) override; // Event::TimeSystem Event::SchedulerPtr createScheduler(Scheduler& base_scheduler) override { diff --git a/test/test_common/test_time_system.h b/test/test_common/test_time_system.h index 52f0ddf8c2380..fd501f7b33932 100644 --- a/test/test_common/test_time_system.h +++ b/test/test_common/test_time_system.h @@ -56,10 +56,9 @@ class TestTimeSystem : public Event::TimeSystem { * @param duration The maximum amount of time to wait. * @return Thread::CondVar::WaitStatus whether the condition timed out or not. */ - virtual Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, - Thread::CondVar& condvar, - const Duration& duration) noexcept - EXCLUSIVE_LOCKS_REQUIRED(mutex) PURE; + virtual Thread::CondVar::WaitStatus + waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) PURE; template Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, @@ -108,9 +107,9 @@ template class DelegatingTestTimeSystemBase : public T timeSystem().advanceTimeWait(duration); } - Thread::CondVar::WaitStatus waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, - const Duration& duration) noexcept - EXCLUSIVE_LOCKS_REQUIRED(mutex) override { + Thread::CondVar::WaitStatus + waitFor(Thread::MutexBasicLockable& mutex, Thread::CondVar& condvar, + const Duration& duration) noexcept EXCLUSIVE_LOCKS_REQUIRED(mutex) override { return timeSystem().waitFor(mutex, condvar, duration); } From 9f42c0acb568ffc22a9005b10eca4576c3d40fa7 Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Thu, 4 Jun 2020 12:00:46 -0400 Subject: [PATCH 07/19] Fix const override specifier in mock Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- test/mocks/server/mocks.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/mocks/server/mocks.h b/test/mocks/server/mocks.h index 38d22ea9d7987..1fb58dc9ea0bc 100644 --- a/test/mocks/server/mocks.h +++ b/test/mocks/server/mocks.h @@ -691,7 +691,7 @@ class MockBootstrapExtensionFactory : public BootstrapExtensionFactory { MOCK_METHOD(BootstrapExtensionPtr, createBootstrapExtension, (const Protobuf::Message&, Configuration::ServerFactoryContext&), (override)); MOCK_METHOD(ProtobufTypes::MessagePtr, createEmptyConfigProto, (), (override)); - MOCK_METHOD(std::string, name, (), (const override)); + MOCK_METHOD(std::string, name, (), (const, override)); }; } // namespace Configuration From 2d0dfb966802888e358e30d546f4a1a4a40e8717 Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Thu, 4 Jun 2020 10:10:11 -0400 Subject: [PATCH 08/19] Windows: Tag additional failing tests Surface additional failing tests for visibility before we get Windows running in CI. Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- test/extensions/filters/http/compressor/BUILD | 1 + test/extensions/filters/http/decompressor/BUILD | 1 + test/extensions/filters/http/grpc_web/BUILD | 1 + test/extensions/filters/udp/dns_filter/BUILD | 1 + test/integration/BUILD | 1 + 5 files changed, 5 insertions(+) diff --git a/test/extensions/filters/http/compressor/BUILD b/test/extensions/filters/http/compressor/BUILD index 0da9087a4d999..149429e09a7ef 100644 --- a/test/extensions/filters/http/compressor/BUILD +++ b/test/extensions/filters/http/compressor/BUILD @@ -31,6 +31,7 @@ envoy_extension_cc_test( "compressor_filter_integration_test.cc", ], extension_name = "envoy.filters.http.compressor", + tags = ["fails_on_windows"], deps = [ "//source/extensions/compression/gzip/compressor:config", "//source/extensions/compression/gzip/decompressor:config", diff --git a/test/extensions/filters/http/decompressor/BUILD b/test/extensions/filters/http/decompressor/BUILD index e6739858b2512..da72c1dc7a9ee 100644 --- a/test/extensions/filters/http/decompressor/BUILD +++ b/test/extensions/filters/http/decompressor/BUILD @@ -36,6 +36,7 @@ envoy_extension_cc_test( "decompressor_filter_integration_test.cc", ], extension_name = "envoy.filters.http.decompressor", + tags = ["fails_on_windows"], deps = [ "//source/extensions/compression/gzip/compressor:config", "//source/extensions/compression/gzip/decompressor:config", diff --git a/test/extensions/filters/http/grpc_web/BUILD b/test/extensions/filters/http/grpc_web/BUILD index b0f586a9c9c0b..5cf7788382b43 100644 --- a/test/extensions/filters/http/grpc_web/BUILD +++ b/test/extensions/filters/http/grpc_web/BUILD @@ -39,6 +39,7 @@ envoy_extension_cc_test( name = "grpc_web_integration_test", srcs = ["grpc_web_filter_integration_test.cc"], extension_name = "envoy.filters.http.grpc_web", + tags = ["fails_on_windows"], deps = [ "//source/common/buffer:buffer_lib", "//source/common/http:header_map_lib", diff --git a/test/extensions/filters/udp/dns_filter/BUILD b/test/extensions/filters/udp/dns_filter/BUILD index 08455411d5add..ffa82525a9474 100644 --- a/test/extensions/filters/udp/dns_filter/BUILD +++ b/test/extensions/filters/udp/dns_filter/BUILD @@ -42,6 +42,7 @@ envoy_extension_cc_test( name = "dns_filter_integration_test", srcs = ["dns_filter_integration_test.cc"], extension_name = "envoy.filters.udp_listener.dns_filter", + tags = ["fails_on_windows"], deps = [ ":dns_filter_test_lib", "//source/extensions/filters/udp/dns_filter:config", diff --git a/test/integration/BUILD b/test/integration/BUILD index 98661cd8ee99c..a8bc846e6492a 100644 --- a/test/integration/BUILD +++ b/test/integration/BUILD @@ -1194,6 +1194,7 @@ envoy_cc_test( srcs = [ "local_reply_integration_test.cc", ], + tags = ["fails_on_windows"], deps = [ ":http_integration_lib", ":http_protocol_integration_lib", From acfaa9a924075d68e99bee9e2577f1a7b1a33338 Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Fri, 5 Jun 2020 10:20:04 -0400 Subject: [PATCH 09/19] Exclude three more tests on windows caused by cr/lf - yaml-cpp parser should be treating cr+lf as newline per spec Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- test/common/buffer/BUILD | 2 ++ test/common/runtime/BUILD | 2 ++ test/exe/BUILD | 2 ++ 3 files changed, 6 insertions(+) diff --git a/test/common/buffer/BUILD b/test/common/buffer/BUILD index bd01534ca6cae..0e32ba806f142 100644 --- a/test/common/buffer/BUILD +++ b/test/common/buffer/BUILD @@ -74,6 +74,8 @@ envoy_cc_test( envoy_cc_test( name = "watermark_buffer_test", srcs = ["watermark_buffer_test.cc"], + # Fails on windows with cr/lf yaml file checkouts + tags = ["fails_on_windows"], deps = [ ":utility_lib", "//source/common/buffer:buffer_lib", diff --git a/test/common/runtime/BUILD b/test/common/runtime/BUILD index 47bb5e8029786..d6ffd6dfb1a75 100644 --- a/test/common/runtime/BUILD +++ b/test/common/runtime/BUILD @@ -42,6 +42,8 @@ envoy_cc_test( name = "runtime_impl_test", srcs = ["runtime_impl_test.cc"], data = glob(["test_data/**"]) + ["filesystem_setup.sh"], + # Fails on windows with cr/lf yaml file checkouts + tags = ["fails_on_windows"], deps = [ "//source/common/config:runtime_utility_lib", "//source/common/runtime:runtime_lib", diff --git a/test/exe/BUILD b/test/exe/BUILD index 806820660bcac..2b1d4b80aab52 100644 --- a/test/exe/BUILD +++ b/test/exe/BUILD @@ -63,6 +63,8 @@ envoy_cc_test( name = "main_common_test", srcs = ["main_common_test.cc"], data = ["//test/config/integration:google_com_proxy_port_0"], + # Fails on windows with cr/lf yaml file checkouts + tags = ["fails_on_windows"], deps = [ "//source/common/api:api_lib", "//source/exe:envoy_main_common_lib", From fe15be609ac1161fbd7c969fa30700dd6b605450 Mon Sep 17 00:00:00 2001 From: William A Rowe Jr Date: Fri, 5 Jun 2020 10:34:20 -0400 Subject: [PATCH 10/19] Ensure tests that are failing are still compiled to avoid regressions Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- ci/windows_ci_steps.sh | 3 +++ test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ci/windows_ci_steps.sh b/ci/windows_ci_steps.sh index 367b0619bf26e..8de2402618dfe 100755 --- a/ci/windows_ci_steps.sh +++ b/ci/windows_ci_steps.sh @@ -30,6 +30,9 @@ BAZEL_BUILD_OPTIONS="-c opt --config=msvc-cl --show_task_finish --verbose_failur bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //source/exe:envoy-static --build_tag_filters=-skip_on_windows +# Build tests that are failing to ensure no regressions +bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --build_tag_filters=fails_on_windows --build_tests_only + # Test invocations of known-working tests on Windows bazel ${BAZEL_STARTUP_OPTIONS} test ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,-fails_on_windows --build_tests_only diff --git a/test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD b/test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD index b50e0b1295dde..c53066ad71433 100644 --- a/test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD +++ b/test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD @@ -28,7 +28,7 @@ envoy_extension_cc_test( name = "reverse_bridge_integration_test", srcs = ["reverse_bridge_integration_test.cc"], extension_name = "envoy.filters.http.grpc_http1_reverse_bridge", - tags = ["fails_on_windows"], + tags = ["skip_on_windows"], deps = [ "//source/common/buffer:buffer_lib", "//source/common/http:header_map_lib", From 63b097437343ff945b2b6ab463b5d54f6e12c7e2 Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Fri, 5 Jun 2020 12:04:03 -0400 Subject: [PATCH 11/19] Add -skip_on_windows to failing test build Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- ci/windows_ci_steps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/windows_ci_steps.sh b/ci/windows_ci_steps.sh index 8de2402618dfe..d988408f53d6e 100755 --- a/ci/windows_ci_steps.sh +++ b/ci/windows_ci_steps.sh @@ -31,7 +31,7 @@ BAZEL_BUILD_OPTIONS="-c opt --config=msvc-cl --show_task_finish --verbose_failur bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //source/exe:envoy-static --build_tag_filters=-skip_on_windows # Build tests that are failing to ensure no regressions -bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --build_tag_filters=fails_on_windows --build_tests_only +bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --build_tag_filters=-skip_on_windows,fails_on_windows --build_tests_only # Test invocations of known-working tests on Windows bazel ${BAZEL_STARTUP_OPTIONS} test ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,-fails_on_windows --build_tests_only From 8fea89f2e855fc4a50fb235797db5c9d2daccec9 Mon Sep 17 00:00:00 2001 From: William A Rowe Jr Date: Fri, 5 Jun 2020 13:40:56 -0400 Subject: [PATCH 12/19] Use --test_tag_filters instead of --build_tag_filters --test_tag_filters governs the inclusion/exclusion when --build_tests_only is in play Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- ci/windows_ci_steps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/windows_ci_steps.sh b/ci/windows_ci_steps.sh index d988408f53d6e..838051327ec42 100755 --- a/ci/windows_ci_steps.sh +++ b/ci/windows_ci_steps.sh @@ -31,7 +31,7 @@ BAZEL_BUILD_OPTIONS="-c opt --config=msvc-cl --show_task_finish --verbose_failur bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //source/exe:envoy-static --build_tag_filters=-skip_on_windows # Build tests that are failing to ensure no regressions -bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --build_tag_filters=-skip_on_windows,fails_on_windows --build_tests_only +bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,fails_on_windows --build_tests_only # Test invocations of known-working tests on Windows bazel ${BAZEL_STARTUP_OPTIONS} test ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,-fails_on_windows --build_tests_only From 52bab69c61a329896ae8fcf0df5d87c76d3dbeaf Mon Sep 17 00:00:00 2001 From: William A Rowe Jr Date: Wed, 10 Jun 2020 12:54:58 -0400 Subject: [PATCH 13/19] Run tests first before compiling failing tests So we get faster feedback on failing tests Signed-off-by: William A Rowe Jr Signed-off-by: Sunjay Bhatia Co-authored-by: William A Rowe Jr Co-authored-by: Sunjay Bhatia --- ci/windows_ci_steps.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ci/windows_ci_steps.sh b/ci/windows_ci_steps.sh index 838051327ec42..62b101d078473 100755 --- a/ci/windows_ci_steps.sh +++ b/ci/windows_ci_steps.sh @@ -30,9 +30,8 @@ BAZEL_BUILD_OPTIONS="-c opt --config=msvc-cl --show_task_finish --verbose_failur bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //source/exe:envoy-static --build_tag_filters=-skip_on_windows -# Build tests that are failing to ensure no regressions -bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,fails_on_windows --build_tests_only - # Test invocations of known-working tests on Windows bazel ${BAZEL_STARTUP_OPTIONS} test ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,-fails_on_windows --build_tests_only +# Build tests that are failing to ensure no regressions +bazel ${BAZEL_STARTUP_OPTIONS} build ${BAZEL_BUILD_OPTIONS} //test/... --test_tag_filters=-skip_on_windows,fails_on_windows --build_tests_only From 6f0201ea3e282615f0f6405ec96f034ddf0c040b Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Tue, 16 Jun 2020 15:41:59 -0400 Subject: [PATCH 14/19] Kick CI Signed-off-by: Sunjay Bhatia From acaf0cb2a8a76b7b91daf9e7e94325298f49bb5f Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Thu, 18 Jun 2020 10:02:49 -0400 Subject: [PATCH 15/19] Bump build image to latest from envoy-build-tools Signed-off-by: Sunjay Bhatia --- .bazelrc | 2 +- .circleci/config.yml | 2 +- .devcontainer/Dockerfile | 2 +- ci/run_envoy_docker_windows.sh | 4 +--- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.bazelrc b/.bazelrc index 82a1711191bc6..043b101eede6f 100644 --- a/.bazelrc +++ b/.bazelrc @@ -200,7 +200,7 @@ build:remote-msvc-cl --config=rbe-toolchain-msvc-cl # Docker sandbox # NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8 -build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:12b3d2c2ffa582507e5d6dd34632b2b990f1b195 +build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:f21773ab398a879f976936f72c78c9dd3718ca1e build:docker-sandbox --spawn_strategy=docker build:docker-sandbox --strategy=Javac=docker build:docker-sandbox --strategy=Closure=docker diff --git a/.circleci/config.yml b/.circleci/config.yml index 5efd1289cb1f5..3bdaab466ba6d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,7 +5,7 @@ executors: description: "A regular build executor based on ubuntu image" docker: # NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8 - - image: envoyproxy/envoy-build-ubuntu:12b3d2c2ffa582507e5d6dd34632b2b990f1b195 + - image: envoyproxy/envoy-build-ubuntu:f21773ab398a879f976936f72c78c9dd3718ca1e resource_class: xlarge working_directory: /source diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index ad93066b0d0a7..f95f93605e56b 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM gcr.io/envoy-ci/envoy-build:12b3d2c2ffa582507e5d6dd34632b2b990f1b195 +FROM gcr.io/envoy-ci/envoy-build:f21773ab398a879f976936f72c78c9dd3718ca1e ARG USERNAME=vscode ARG USER_UID=501 diff --git a/ci/run_envoy_docker_windows.sh b/ci/run_envoy_docker_windows.sh index e7acdf5f468f0..a1f4e7372b527 100644 --- a/ci/run_envoy_docker_windows.sh +++ b/ci/run_envoy_docker_windows.sh @@ -3,9 +3,7 @@ set -e # The image tag for the Windows image is the same as the Linux one so we use the same mechanism to find it -# TODO(sunjayBhatia, wrowe): uncomment this once Linux CI catches up to using the latest toolchain container image -# . $(dirname $0)/envoy_build_sha.sh -ENVOY_BUILD_SHA="78d0e79e619c823d52d192a9b2fd030f66c5ac2c" +. $(dirname $0)/envoy_build_sha.sh [[ -z "${IMAGE_NAME}" ]] && IMAGE_NAME="envoyproxy/envoy-build-windows2019" # The IMAGE_ID defaults to the CI hash but can be set to an arbitrary image ID (found with 'docker From 54215baf69ef89915f62f6dcd1a39516e9f040fa Mon Sep 17 00:00:00 2001 From: William A Rowe Jr Date: Fri, 19 Jun 2020 11:28:30 -0400 Subject: [PATCH 16/19] Add rules_go patch to address RBE issue can be removed once Bazel/RBE issue is addressed Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- bazel/repositories.bzl | 7 ++++++- bazel/rules_go.patch | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 bazel/rules_go.patch diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl index baf22ea109dd2..d31cbe33d2672 100644 --- a/bazel/repositories.bzl +++ b/bazel/repositories.bzl @@ -125,7 +125,12 @@ def _go_deps(skip_targets): # Keep the skip_targets check around until Istio Proxy has stopped using # it to exclude the Go rules. if "io_bazel_rules_go" not in skip_targets: - _repository_impl("io_bazel_rules_go") + _repository_impl( + name = "io_bazel_rules_go", + # TODO(wrowe, sunjayBhatia): remove when Windows RBE supports batch file invocation + patch_args = ["-p1"], + patches = ["@envoy//bazel:rules_go.patch"], + ) _repository_impl("bazel_gazelle") def envoy_dependencies(skip_targets = []): diff --git a/bazel/rules_go.patch b/bazel/rules_go.patch new file mode 100644 index 0000000000000..39f99ebb189bf --- /dev/null +++ b/bazel/rules_go.patch @@ -0,0 +1,30 @@ +# +# Bazel RBE on Windows GCP workers currently will not invoke cmd.exe batch files correctly +# +# Symptom is program not found 'bazel-out', because of the way that the CreateProcess command +# is constructed by bazel with actions.run with forward slashes, e.g. the command +# cmd.exe /c "bazel-out/host/bin/external/go_sdk/builder.exe.bat" +# where cmd.exe on GCP is treating 'bazel-out' as the target, and /host as a command line switch. +# This problem was not observed on Azure CI pipelines or locally by the developers. The eventual +# fix is not specific to rules_go; this patch simply addresses immediate breakage and can be removed +# once the underlying issue within Bazel/RBE is fixed. +# See: +# - https://github.com/bazelbuild/rules_go/pull/2542 +# - https://github.com/envoyproxy/envoy/issues/11657 +# +diff --git a/go/private/rules/binary.bzl b/go/private/rules/binary.bzl +index b88dfd96..e68b5ece 100644 +--- a/go/private/rules/binary.bzl ++++ b/go/private/rules/binary.bzl +@@ -128,8 +128,9 @@ def _go_tool_binary_impl(ctx): + content = cmd, + ) + ctx.actions.run( +- executable = bat, +- inputs = sdk.libs + sdk.headers + sdk.tools + ctx.files.srcs + [sdk.go], ++ executable = "cmd.exe", ++ arguments = ["/S", "/C", bat.path.replace("/", "\\")], ++ inputs = sdk.libs + sdk.headers + sdk.tools + ctx.files.srcs + [sdk.go, bat], + outputs = [cout], + env = {"GOROOT": sdk.root_file.dirname}, # NOTE(#2005): avoid realpath in sandbox + mnemonic = "GoToolchainBinaryCompile", From 0abc0a47d420957026d276ad43fd8630bfc71c34 Mon Sep 17 00:00:00 2001 From: William A Rowe Jr Date: Tue, 23 Jun 2020 16:11:16 -0400 Subject: [PATCH 17/19] Do not skip test, compilation fixed by #11719 Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD b/test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD index c53066ad71433..b50e0b1295dde 100644 --- a/test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD +++ b/test/extensions/filters/http/grpc_http1_reverse_bridge/BUILD @@ -28,7 +28,7 @@ envoy_extension_cc_test( name = "reverse_bridge_integration_test", srcs = ["reverse_bridge_integration_test.cc"], extension_name = "envoy.filters.http.grpc_http1_reverse_bridge", - tags = ["skip_on_windows"], + tags = ["fails_on_windows"], deps = [ "//source/common/buffer:buffer_lib", "//source/common/http:header_map_lib", From dadd99a3fbf6ace2e974d9e438ddcea477e08219 Mon Sep 17 00:00:00 2001 From: William A Rowe Jr Date: Tue, 23 Jun 2020 16:54:26 -0400 Subject: [PATCH 18/19] Revert "Exclude three more tests on windows caused by cr/lf" This reverts commit acfaa9a924075d68e99bee9e2577f1a7b1a33338. Signed-off-by: Sunjay Bhatia Co-authored-by: Sunjay Bhatia Signed-off-by: William A Rowe Jr Co-authored-by: William A Rowe Jr --- test/common/buffer/BUILD | 2 -- test/common/runtime/BUILD | 2 -- test/exe/BUILD | 2 -- 3 files changed, 6 deletions(-) diff --git a/test/common/buffer/BUILD b/test/common/buffer/BUILD index 0e32ba806f142..bd01534ca6cae 100644 --- a/test/common/buffer/BUILD +++ b/test/common/buffer/BUILD @@ -74,8 +74,6 @@ envoy_cc_test( envoy_cc_test( name = "watermark_buffer_test", srcs = ["watermark_buffer_test.cc"], - # Fails on windows with cr/lf yaml file checkouts - tags = ["fails_on_windows"], deps = [ ":utility_lib", "//source/common/buffer:buffer_lib", diff --git a/test/common/runtime/BUILD b/test/common/runtime/BUILD index d6ffd6dfb1a75..47bb5e8029786 100644 --- a/test/common/runtime/BUILD +++ b/test/common/runtime/BUILD @@ -42,8 +42,6 @@ envoy_cc_test( name = "runtime_impl_test", srcs = ["runtime_impl_test.cc"], data = glob(["test_data/**"]) + ["filesystem_setup.sh"], - # Fails on windows with cr/lf yaml file checkouts - tags = ["fails_on_windows"], deps = [ "//source/common/config:runtime_utility_lib", "//source/common/runtime:runtime_lib", diff --git a/test/exe/BUILD b/test/exe/BUILD index 2b1d4b80aab52..806820660bcac 100644 --- a/test/exe/BUILD +++ b/test/exe/BUILD @@ -63,8 +63,6 @@ envoy_cc_test( name = "main_common_test", srcs = ["main_common_test.cc"], data = ["//test/config/integration:google_com_proxy_port_0"], - # Fails on windows with cr/lf yaml file checkouts - tags = ["fails_on_windows"], deps = [ "//source/common/api:api_lib", "//source/exe:envoy_main_common_lib", From 3483ec3866f2faf3eaf9af80f769a5650fe2cb92 Mon Sep 17 00:00:00 2001 From: Sunjay Bhatia Date: Thu, 25 Jun 2020 12:20:19 -0400 Subject: [PATCH 19/19] Tag failing tests from CI Fix network utility test Signed-off-by: Sunjay Bhatia --- test/common/event/BUILD | 1 + test/common/network/utility_test.cc | 2 ++ test/extensions/filters/http/admission_control/BUILD | 1 + test/extensions/filters/udp/dns_filter/BUILD | 1 + test/integration/BUILD | 2 ++ 5 files changed, 7 insertions(+) diff --git a/test/common/event/BUILD b/test/common/event/BUILD index a275f39c16305..1d306cdc38037 100644 --- a/test/common/event/BUILD +++ b/test/common/event/BUILD @@ -11,6 +11,7 @@ envoy_package() envoy_cc_test( name = "dispatcher_impl_test", srcs = ["dispatcher_impl_test.cc"], + tags = ["fails_on_windows"], deps = [ "//source/common/api:api_lib", "//source/common/event:deferred_task", diff --git a/test/common/network/utility_test.cc b/test/common/network/utility_test.cc index fa4b1b9ad5b43..96f42f40dc978 100644 --- a/test/common/network/utility_test.cc +++ b/test/common/network/utility_test.cc @@ -171,7 +171,9 @@ TEST_P(NetworkUtilityGetLocalAddress, GetLocalAddress) { TEST(NetworkUtility, GetOriginalDst) { testing::NiceMock socket; +#ifdef SOL_IP EXPECT_CALL(socket, ipVersion()).WillOnce(testing::Return(absl::nullopt)); +#endif EXPECT_EQ(nullptr, Utility::getOriginalDst(socket)); } diff --git a/test/extensions/filters/http/admission_control/BUILD b/test/extensions/filters/http/admission_control/BUILD index 1b9595276119a..301e4dd2f8840 100644 --- a/test/extensions/filters/http/admission_control/BUILD +++ b/test/extensions/filters/http/admission_control/BUILD @@ -60,6 +60,7 @@ envoy_extension_cc_test( name = "admission_control_integration_test", srcs = ["admission_control_integration_test.cc"], extension_name = "envoy.filters.http.admission_control", + tags = ["fails_on_windows"], deps = [ "//source/extensions/filters/http/admission_control:config", "//test/integration:http_integration_lib", diff --git a/test/extensions/filters/udp/dns_filter/BUILD b/test/extensions/filters/udp/dns_filter/BUILD index ffa82525a9474..3953675325305 100644 --- a/test/extensions/filters/udp/dns_filter/BUILD +++ b/test/extensions/filters/udp/dns_filter/BUILD @@ -28,6 +28,7 @@ envoy_extension_cc_test( name = "dns_filter_test", srcs = ["dns_filter_test.cc"], extension_name = "envoy.filters.udp_listener.dns_filter", + tags = ["fails_on_windows"], deps = [ ":dns_filter_test_lib", "//source/extensions/filters/udp/dns_filter:dns_filter_lib", diff --git a/test/integration/BUILD b/test/integration/BUILD index 8b52391380c14..944f929e42f1c 100644 --- a/test/integration/BUILD +++ b/test/integration/BUILD @@ -237,6 +237,7 @@ envoy_cc_test( srcs = [ "drain_close_integration_test.cc", ], + tags = ["fails_on_windows"], deps = [ ":http_protocol_integration_lib", "//source/extensions/filters/http/health_check:config", @@ -293,6 +294,7 @@ envoy_cc_test( data = [ "//test/config/integration/certs", ], + tags = ["fails_on_windows"], deps = [ ":http_integration_lib", "//test/test_common:utility_lib",