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.
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.
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.
@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.
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.
Right you are, apologies. My glance was too quick 😀
Originally tried this in #909 / #917 but reverted because
Spectrewouldn'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)