-
Notifications
You must be signed in to change notification settings - Fork 824
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
Run CI against Xcode 12 beta #936
Conversation
I saw that spectre has a new release for Xcode 12. We should probably update to that |
@yonaskolb Unfortunately, it seems that Spectre Since GitHub is upgrading soon, it would work in the short term but then start failing once they roll up to beta 4.
|
@yonaskolb Re-triggered. Looks like CI has |
|
||
EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64=arm64 arm64e armv7 armv7s armv6 armv8 | ||
EXCLUDED_ARCHS_1200=$(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)) | ||
EXCLUDED_ARCHS=$(inherited) $(EXCLUDED_ARCHS_$(XCODE_VERSION_MAJOR)) |
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.
This will only set EXCLUDED_ARCHS
if building with Xcode 12. It works around an issue where Carthage fails to create fat Simulator + Device binaries. For instance, creation of fat dylibs/archives fail because iphonesimulator
builds targeting Apple silicon share the arm*
archs with iphoneos
. We'll probably need this workaround until Carthage supports xcframeworks or some other means of being able to build frameworks per-platform.
@yonaskolb Finally green after adding a workaround for Carthage 👍 The fixtures including Xcode-12+-only targets are now successfully building in CI. |
I heard that GitHub actions sometimes runs beta 4, but also sometimes runs beta 3 😕. |
Oof. Then maybe we hold off until it's confirmed in the GH actions docs. |
@yonaskolb @brentleyjones They merged actions/runner-images#1409 today, so I would assume the rollout is 100% complete for beta4 on GitHub Actions. |
CODE_SIGN_IDENTITY = | ||
CODE_SIGNING_REQUIRED = NO | ||
CODE_SIGN_ENTITLEMENTS = | ||
CODE_SIGNING_ALLOWED = NO |
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.
Anything not related to Xcode 12, can we put in the actual spec? I'd like to have that as buildable as possible without custom xcodebuild args
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.
@yonaskolb These were already explicit overrides in the script that built the fixtures. It made the command line a lot shorter to extract them to this xcconfig. They shouldn't go in the spec because they're only needed for CI builds (which does not have certs/profiles available to do code signing)
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.
This was able to replace:
xcodebuild ... CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED="NO"
with:
xcodebuild ... -xcconfig fixtures.xcconfig
and apply the xcode 12 overrides all in one shot
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.
Right you are, apologies. My glance was too quick 😀
Originally tried this in #909 / #917 but reverted because
Spectre
wouldn't build with Xcode 12b3. It does build with b4, but GitHub Actions doesn't support it yet (incoming with actions/runner-images#1409)This PR will probably initially fail but once 12b4 (
12A8179i
) is deployed on GH, it should pass on re-run 🤞@yonaskolb (cc @brentleyjones)