-
Notifications
You must be signed in to change notification settings - Fork 232
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
Housekeeping. Misc project changes #468
Conversation
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
Extracted variable DerivedDataPath in build.sh Remoted schemes "bp-tests" and "bluepill-tests" Changed schemes "bp" and "bluepill" to include related test targets Changed schemes in build.sh to build and test "bp" and "bluepill" schemes Hide bplib scheme since it's setup as a target dependency of bp and bluepill The workflow would be: Before doing anything, run build-for-testing (CMD+Shift+U) for BPSampleApp Work on bp or bluepill targets, to run tests, use test button or (CMD+U)
This is preparations for Xcode 12.3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
|
Fixed typo Always collect xcresult. Even when the tests fail. Also added the collect xcresult in master workflow.
When building with Xcode with Simulator Xcode will pick the host arch. For now it's only x86_64 This change aligns the artifact of the sample app for CI and local dev. We will figure out what to do with Apple Silicon when we start to support it.
Refactored bluepill.sh to reuse code for running tests Changed github workflow yml's to run tests with 3 machines Added base test case class BPIntTestCase to split BluepillTests which runs for an hour Created new test case BPReportTests to extract some tests out of BluepillTests to run on another machine
079bf77
to
846bf82
Compare
@ob This PR is ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks for doing this cleanup. I'm curious what the BPIntTest
is for though...
It's explained in this commit msg. |
* Specify ARCHS for bp and bluepill projects 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 * Scheme clean up Extracted variable DerivedDataPath in build.sh Remoted schemes "bp-tests" and "bluepill-tests" Changed schemes "bp" and "bluepill" to include related test targets Changed schemes in build.sh to build and test "bp" and "bluepill" schemes Hide bplib scheme since it's setup as a target dependency of bp and bluepill The workflow would be: Before doing anything, run build-for-testing (CMD+Shift+U) for BPSampleApp Work on bp or bluepill targets, to run tests, use test button or (CMD+U) * Added build step to capture xcresult files for analysis * Build the sample app with x86_64 only When building with Xcode with Simulator Xcode will pick the host arch. For now it's only x86_64 This change aligns the artifact of the sample app for CI and local dev. We will figure out what to do with Apple Silicon when we start to support it. * Use 3 machines to run tests Refactored bluepill.sh to reuse code for running tests Changed github workflow yml's to run tests with 3 machines Added base test case class BPIntTestCase to split BluepillTests which runs for an hour Created new test case BPReportTests to extract some tests out of BluepillTests to run on another machine
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
andbluepill
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.