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

Investigation / Enhancement Request: Support building library with multiple stable XCode #3799

Closed
nbhasin2 opened this issue Jan 5, 2021 · 5 comments

Comments

@nbhasin2
Copy link
Collaborator

nbhasin2 commented Jan 5, 2021

Currently the library is only built with only single XCode but if we are to look into using an older or slightly newer version of library it means building locally and using it.

Suggestion:
Allow CircleCI to build library with current latest XCode 12 and last two dot release.
Current Stable XCode 12.3 with its dot release 12.1,12.2 and 12.3 (stable)
For example next app services library comes
app-services-1.0-swift-5.3

┆Issue is synchronized with this Jira Task
┆Epic: local development, ci and release (backlog)

@rfk
Copy link
Contributor

rfk commented Jan 11, 2021

(cross-linking #3769 for context on the failure modes caused by this)

@rfk
Copy link
Contributor

rfk commented Jan 11, 2021

also ref #2675 for a previous proposal to enable the BUILD_LIBRARY_FOR_DISTRIBUTION flag, which IIUC was intended to address the same underlying concern (using built artifacts across compatible versions of swift).

@rfk
Copy link
Contributor

rfk commented Mar 3, 2021

Cross-linking #3900 for reference. It's a little experiment in trying to remove our dependency on SwiftProtoBuf, which IIUC would let us build using BUILD_LIBRARY_FOR_DISTRIBUTION, which IIUC would in turn decouple the version of Swift used by appservices from the version uses by its consumers.

@rfk
Copy link
Contributor

rfk commented Mar 11, 2021

We're currently building for xcode 12.3 in CI, but I seem to have updated to xcode 12.4 locally on my mac here. As an experiment, I've done a local build of the 73.0.1 release tag and uploaded it to github as a separate artifact:


Capture

Before getting too deep into whether or how to automate anything like that, let's see if we can use this as a cheap way to explore whether having multiple uploaded artifacts will help the developer experience. (Requests to rename it or upload other artifacts or whatever happily accepted, I just want to have something concrete to focus our collective efforts on for next steps).

@data-sync-user
Copy link
Collaborator

➤ Ryan Kelly commented:

Given the work on moving to swift packages etc and #mobile-build-modernization, I think we will solve the XCode compatibility in a different way, probably by allowing consumers to directly compile the swift code, or by using BUILD_LIBRARY_FOR_DISTRIBUTION. Thanks all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants