MobileNativeFoundation / bluepill

Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine
BSD 2-Clause "Simplified" License
3.19k stars 232 forks source link

Housekeeping. Misc project changes #468

Closed chenxiao0228 closed 3 years ago

chenxiao0228 commented 3 years ago

Xcode 12.3 also targets Apple Silicon so it will try to build the for arm. Upon the frameworks that Bluepill links to, CoreSimulator has arm64e so Xcode would refuse to link to it. To make Bluepill build with Xcode 12.3 here we pin ARCH to x86_64

Simplified project structure, now we can focus on bp and bluepill schemes and cmd+u runs tests for them instead of having to switch to test schemes.

Refactors bluepill.sh and some test cases. Try to reduce PR check time from 1 hr to ~35min by splitting the check to 3 machines.

chenxiao0228 commented 3 years ago

This is preparations for Xcode 12.3 Pinning arch to x86_64 is only one of the issues. Also piggyback some clean ups with this PR.

chenxiao0228 commented 3 years ago

lgtm... do we want to always upload artifacts on the master branch or only on failure?

Good point! I'll remove it for master.

Will update this PR later, after rebalancing the tests and fix the test failures.

chenxiao0228 commented 3 years ago

{4887} 20210115.195410 [  INFO  ] (BP-2) Started recording video to /Users/runner/work/bluepill/bluepill/build/Build/Products/Debug/bpout_N4te0v/my_videos/BPSampleAppUITests__testExample2__1.mp4
{4887} 20210115.195429 [  ERROR ] (BP-2) Video task was interrupted, but exited with non-zero status 2
{4887} 20210115.195429 [  ERROR ] (BP-2) Video recording file missing, expected at path /Users/runner/work/bluepill/bluepill/build/Build/Products/Debug/bpout_N4te0v/my_videos/BPSampleAppUITests__testExample2__1.mp4!```

testTwoBPInstancesWithVideo consistently fails on CI with the above error. But I cannot reproduce it on my machine.
chenxiao0228 commented 3 years ago

@ob This PR is ready for review.

chenxiao0228 commented 3 years ago

lgtm, thanks for doing this cleanup. I'm curious what the BPIntTest is for though...

It's explained in this commit msg. https://github.com/linkedin/bluepill/pull/468/commits/846bf82ca1f3f9bcd825724cbc4b446193e27772