Closed nbhasin2 closed 1 year ago
(cross-linking https://github.com/mozilla/application-services/issues/3769 for context on the failure modes caused by this)
also ref https://github.com/mozilla/application-services/pull/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).
Cross-linking https://github.com/mozilla/application-services/pull/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.
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:
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).
➤ 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!
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)