Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: run oss Envoy tests against mobile targets #6

Closed
junr03 opened this issue Apr 17, 2019 · 5 comments
Closed

test: run oss Envoy tests against mobile targets #6

junr03 opened this issue Apr 17, 2019 · 5 comments

Comments

@junr03
Copy link
Member

junr03 commented Apr 17, 2019

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 junr03 self-assigned this Apr 17, 2019
@junr03 junr03 transferred this issue from another repository May 1, 2019
@junr03 junr03 added this to the v0.2 "Primo" milestone May 2, 2019
@stale
Copy link

stale bot commented Jun 1, 2019

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 stale bot added the stale label Jun 1, 2019
@junr03 junr03 removed stale labels Jun 3, 2019
@junr03 junr03 modified the milestones: v0.2 "Primo", v0.3 "Secondi" Jun 17, 2019
@junr03
Copy link
Member Author

junr03 commented Sep 2, 2021

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

@moderation
Copy link

Another required revert on Envoy main for a mobile issue - envoyproxy/envoy#18566

@keith
Copy link
Member

keith commented Oct 13, 2021

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.

jpsim added a commit that referenced this issue Apr 22, 2022
This was causing hangs/crashes in our Lyft apps so I'm reverting this
while I continue to investigate.

Here's the crash backtrace I'm seeing on iOS (not very helpful
unfortunately):

```
* thread #11, stop reason = signal SIGABRT
  * frame #0: 0x000000013a02300e libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00000001399a61ff libsystem_pthread.dylib`pthread_kill + 263
    frame #2: 0x0000000138905684 libsystem_c.dylib`abort + 123
    frame #3: 0x00000001024793af Lyft`___lldb_unnamed_symbol4253$$Lyft + 3231
    frame #4: 0x000000010247e0c7 Lyft`___lldb_unnamed_symbol4339$$Lyft + 130
    frame #5: 0x00000001399a64e1 libsystem_pthread.dylib`_pthread_start + 125
    frame #6: 0x00000001399a1f6b libsystem_pthread.dylib`thread_start + 15
```

This breaks h3 functionality, which merged yesterday and is as of yet
unused.

Signed-off-by: JP Simard <jp@jpsim.com>
@jpsim
Copy link
Contributor

jpsim commented Dec 6, 2022

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 jpsim closed this as completed Dec 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants