envoy-mobile icon indicating copy to clipboard operation
envoy-mobile copied to clipboard

test: run oss Envoy tests against mobile targets

Open junr03 opened this issue 6 years ago • 4 comments

Currently Envoy OSS's test suite does not run against mobile architectures. We would like to enable the full (or as close as reasonably possible) test suite to run against mobile architectures. This will enable envoy-mobile's CI to run tests against upstream.

Changes need to happen on two broad categories for this to be possible:

  1. Build changes: we need to create bazel infrastructure to selectively depend, compile, and run code against mobile architectures. Inspiration can be take from envoy_cc_platform_dep which allows to select dependencies against different build targets.
  2. Code changes: there are a few refactors, and code additions that need to happen in order to be able to run tests against mobile architecture targets:
    • filesystem: we need to use iOS and Android filesystem constructs were appropriate. Thankfully, folks from the OSS community made the barrier to entry of this work more manageable when introducing win32 filesystem implementations.
    • via @keith the google test stuff has some "expect death" stuff that needs to be solved somehow since on iOS you only ever have 1 process. totally unclear to me, even from the feature side, how we would want that to work his opinion is that this could be deferred.

cc @keith who was previously working on this.

junr03 avatar Apr 17 '19 21:04 junr03

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions.

stale[bot] avatar Jun 01 '19 20:06 stale[bot]

recent dependency updates in Envoy have caused breakages in Envoy Mobile. This is another reason to run envoy mobile tests in Envoy CI.

junr03 avatar Sep 02 '21 18:09 junr03

Another required revert on Envoy main for a mobile issue - https://github.com/envoyproxy/envoy/pull/18566

moderation avatar Oct 12 '21 05:10 moderation

One option outside of setting up a dependency between envoy -> envoy-mobile would just be to build whatever targets are a good indication of compatibility against the iOS / Android SDKs on envoy's normal CI. This wouldn't require significantly more build setup overhead, but would at least shed light on most build issues.

keith avatar Oct 13 '21 17:10 keith

Now that Envoy Mobile has been moved to the Envoy repo, we build and test parts of Envoy Mobile for every Envoy PR.

Depending on CI capacity, it'd be good to also build and run one iOS target and one Android target.

For the most part, this should reduce the number of Envoy changes that break Envoy Mobile and I'll be closing this ticket.

jpsim avatar Dec 06 '22 16:12 jpsim