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' diff --git a/mobile/envoy_build_config/BUILD b/mobile/envoy_build_config/BUILD index 8e9a6a66778b0..25016c7a5f465 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 @@ -45,7 +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", + ), ) envoy_cc_library( diff --git a/mobile/envoy_build_config/extension_registry.cc b/mobile/envoy_build_config/extension_registry.cc index 25b56240a7d59..a8deb2521f0f5 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: 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