From 74834de200d302ea5db7c8549f7f5d6b1b9c2800 Mon Sep 17 00:00:00 2001 From: Rafal Augustyniak Date: Mon, 12 Dec 2022 14:40:12 -0500 Subject: [PATCH 1/8] Revert "ci: disable running the Objective-C integration app (#24478)" This reverts commit 0a8043c9d184df94737ecc646744fcaf9914777a. Signed-off-by: Rafal Augustyniak --- .github/workflows/ios_build.yml | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ios_build.yml b/.github/workflows/ios_build.yml index b9f386421fc2a..e947b602907d6 100644 --- a/.github/workflows/ios_build.yml +++ b/.github/workflows/ios_build.yml @@ -213,21 +213,20 @@ jobs: $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ //examples/objective-c/hello_world:app - # TODO(jpsim): Re-enable running the app # Run the app in the background and redirect logs. - # - name: 'Run app' - # if: steps.should_run.outputs.run_ci_job == 'true' - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # run: | - # cd mobile && ./bazelw run \ - # --config=ios \ - # $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - # --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - # //examples/objective-c/hello_world:app &> /tmp/envoy.log & - # - run: sed '/received headers with status 200/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log) - # if: steps.should_run.outputs.run_ci_job == 'true' - # name: 'Check connectivity' - # - run: cat /tmp/envoy.log - # if: ${{ failure() || cancelled() }} - # name: 'Log app run' + - name: 'Run app' + if: steps.should_run.outputs.run_ci_job == 'true' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + cd mobile && ./bazelw run \ + --config=ios \ + $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ + --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ + //examples/objective-c/hello_world:app &> /tmp/envoy.log & + - run: sed '/received headers with status 200/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log) + if: steps.should_run.outputs.run_ci_job == 'true' + name: 'Check connectivity' + - run: cat /tmp/envoy.log + if: ${{ failure() || cancelled() }} + name: 'Log app run' From 50464137e2279594d0b7ab30306ccbf8f097d72b Mon Sep 17 00:00:00 2001 From: Rafal Augustyniak Date: Mon, 12 Dec 2022 15:12:10 -0500 Subject: [PATCH 2/8] add quick registration --- mobile/envoy_build_config/BUILD | 1 + mobile/envoy_build_config/extension_registry.cc | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/mobile/envoy_build_config/BUILD b/mobile/envoy_build_config/BUILD index 8e9a6a66778b0..8c73d3bfd3790 100644 --- a/mobile/envoy_build_config/BUILD +++ b/mobile/envoy_build_config/BUILD @@ -14,6 +14,7 @@ envoy_cc_library( deps = [ "extension_registry_platform_additions", "@envoy//source/common/network:socket_lib", + "@envoy//source/common/quic:quic_transport_socket_factory_lib", "@envoy//source/common/router:upstream_codec_filter_lib", "@envoy//source/extensions/clusters/dynamic_forward_proxy:cluster", "@envoy//source/extensions/clusters/logical_dns:logical_dns_cluster_lib", diff --git a/mobile/envoy_build_config/extension_registry.cc b/mobile/envoy_build_config/extension_registry.cc index 25b56240a7d59..b574f5c16123e 100644 --- a/mobile/envoy_build_config/extension_registry.cc +++ b/mobile/envoy_build_config/extension_registry.cc @@ -26,6 +26,10 @@ #include "source/extensions/transport_sockets/tls/config.h" #include "source/extensions/upstreams/http/generic/config.h" +#ifdef ENVOY_ENABLE_QUIC +#include "source/common/quic/quic_transport_socket_factory.h" +#endif + #include "extension_registry_platform_additions.h" #include "library/common/extensions/cert_validator/platform_bridge/config.h" #include "library/common/extensions/filters/http/assertion/config.h" @@ -78,6 +82,10 @@ void ExtensionRegistry::registerFactories() { Envoy::Extensions::RequestId::forceRegisterUUIDRequestIDExtensionFactory(); Envoy::Server::forceRegisterDefaultListenerManagerFactoryImpl(); + #ifdef ENVOY_ENABLE_QUIC + Quic::forceRegisterQuicServerTransportSocketConfigFactory(); + #endif + // TODO: add a "force initialize" function to the upstream code, or clean up the upstream code // in such a way that does not depend on the statically initialized variable. // The current setup exposes in iOS the same problem as the one described in: From fb1cf1eb12c53cc7eb5f1878bdf2113fcad68459 Mon Sep 17 00:00:00 2001 From: Rafal Augustyniak Date: Mon, 12 Dec 2022 15:12:18 -0500 Subject: [PATCH 3/8] lint fix --- mobile/envoy_build_config/extension_registry.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mobile/envoy_build_config/extension_registry.cc b/mobile/envoy_build_config/extension_registry.cc index b574f5c16123e..a8deb2521f0f5 100644 --- a/mobile/envoy_build_config/extension_registry.cc +++ b/mobile/envoy_build_config/extension_registry.cc @@ -82,9 +82,9 @@ void ExtensionRegistry::registerFactories() { Envoy::Extensions::RequestId::forceRegisterUUIDRequestIDExtensionFactory(); Envoy::Server::forceRegisterDefaultListenerManagerFactoryImpl(); - #ifdef ENVOY_ENABLE_QUIC +#ifdef ENVOY_ENABLE_QUIC Quic::forceRegisterQuicServerTransportSocketConfigFactory(); - #endif +#endif // TODO: add a "force initialize" function to the upstream code, or clean up the upstream code // in such a way that does not depend on the statically initialized variable. From 440cf0b9970b0479832dc90369306a8c04410353 Mon Sep 17 00:00:00 2001 From: Rafal Augustyniak Date: Mon, 12 Dec 2022 15:12:42 -0500 Subject: [PATCH 4/8] fix --- source/common/quic/quic_transport_socket_factory.h | 1 + 1 file changed, 1 insertion(+) diff --git a/source/common/quic/quic_transport_socket_factory.h b/source/common/quic/quic_transport_socket_factory.h index e9ae0288e311f..7f905e8da2bd7 100644 --- a/source/common/quic/quic_transport_socket_factory.h +++ b/source/common/quic/quic_transport_socket_factory.h @@ -185,6 +185,7 @@ class QuicClientTransportSocketConfigFactory }; DECLARE_FACTORY(QuicClientTransportSocketConfigFactory); +DECLARE_FACTORY(QuicServerTransportSocketConfigFactory); } // namespace Quic } // namespace Envoy From 2feda7394f41f1aa01eb402f7ff4af8519230e71 Mon Sep 17 00:00:00 2001 From: Rafal Augustyniak Date: Mon, 12 Dec 2022 15:25:51 -0500 Subject: [PATCH 5/8] use select --- mobile/envoy_build_config/BUILD | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mobile/envoy_build_config/BUILD b/mobile/envoy_build_config/BUILD index 8c73d3bfd3790..d40ac0415e993 100644 --- a/mobile/envoy_build_config/BUILD +++ b/mobile/envoy_build_config/BUILD @@ -14,7 +14,6 @@ envoy_cc_library( deps = [ "extension_registry_platform_additions", "@envoy//source/common/network:socket_lib", - "@envoy//source/common/quic:quic_transport_socket_factory_lib", "@envoy//source/common/router:upstream_codec_filter_lib", "@envoy//source/extensions/clusters/dynamic_forward_proxy:cluster", "@envoy//source/extensions/clusters/logical_dns:logical_dns_cluster_lib", @@ -46,7 +45,9 @@ envoy_cc_library( "@envoy_mobile//library/common/extensions/filters/http/route_cache_reset:config", "@envoy_mobile//library/common/extensions/filters/http/socket_tag:config", "@envoy_mobile//library/common/extensions/retry/options/network_configuration:config", - ], + ] + envoy_select_enable_http3([ + "@envoy//source/common/quic:quic_transport_socket_factory_lib", + ]) ) envoy_cc_library( From 540d43e46114010b6298b9c2e7a93b37d1a1fd2a Mon Sep 17 00:00:00 2001 From: Rafal Augustyniak Date: Mon, 12 Dec 2022 15:25:57 -0500 Subject: [PATCH 6/8] lint fix --- mobile/envoy_build_config/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/envoy_build_config/BUILD b/mobile/envoy_build_config/BUILD index d40ac0415e993..e1f7aba8f8eb6 100644 --- a/mobile/envoy_build_config/BUILD +++ b/mobile/envoy_build_config/BUILD @@ -47,7 +47,7 @@ envoy_cc_library( "@envoy_mobile//library/common/extensions/retry/options/network_configuration:config", ] + envoy_select_enable_http3([ "@envoy//source/common/quic:quic_transport_socket_factory_lib", - ]) + ]), ) envoy_cc_library( From cfd249c2cc0d2413a2e19506caf384b14b714067 Mon Sep 17 00:00:00 2001 From: Rafal Augustyniak Date: Mon, 12 Dec 2022 15:39:50 -0500 Subject: [PATCH 7/8] add import --- mobile/envoy_build_config/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/envoy_build_config/BUILD b/mobile/envoy_build_config/BUILD index e1f7aba8f8eb6..99b0670baf948 100644 --- a/mobile/envoy_build_config/BUILD +++ b/mobile/envoy_build_config/BUILD @@ -1,4 +1,4 @@ -load("@envoy//bazel:envoy_build_system.bzl", "envoy_cc_library", "envoy_package") +load("@envoy//bazel:envoy_build_system.bzl", "envoy_cc_library", "envoy_package", "envoy_select_enable_http3") licenses(["notice"]) # Apache 2 From 1bc5f240bf81d8222099663a25f506586fae4977 Mon Sep 17 00:00:00 2001 From: Rafal Augustyniak Date: Mon, 12 Dec 2022 15:49:29 -0500 Subject: [PATCH 8/8] fix usage --- mobile/envoy_build_config/BUILD | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mobile/envoy_build_config/BUILD b/mobile/envoy_build_config/BUILD index 99b0670baf948..25016c7a5f465 100644 --- a/mobile/envoy_build_config/BUILD +++ b/mobile/envoy_build_config/BUILD @@ -45,9 +45,12 @@ envoy_cc_library( "@envoy_mobile//library/common/extensions/filters/http/route_cache_reset:config", "@envoy_mobile//library/common/extensions/filters/http/socket_tag:config", "@envoy_mobile//library/common/extensions/retry/options/network_configuration:config", - ] + envoy_select_enable_http3([ - "@envoy//source/common/quic:quic_transport_socket_factory_lib", - ]), + ] + envoy_select_enable_http3( + [ + "@envoy//source/common/quic:quic_transport_socket_factory_lib", + ], + "@envoy", + ), ) envoy_cc_library(