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

Add CoreStore Swift 5.3 hash #596

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Conversation

JohnEstropia
Copy link
Contributor

Pull Request Description

Add Swift 5.3 support for CoreStore

Acceptance Criteria

To be accepted into the Swift source compatibility test suite, a project must:

  • be an Xcode or swift package manager project
  • support building on either Linux or macOS
  • target Linux, macOS, or iOS/tvOS/watchOS device
  • be contained in a publicly accessible git repository
  • maintain a project branch that builds against Swift 4.0 and passes any unit tests
  • have maintainers who will commit to resolve issues in a timely manner
  • be compatible with the latest GM/Beta versions of Xcode and swiftpm
  • add value not already included in the suite
  • be licensed with one of the following permissive licenses:
    • BSD
    • MIT
    • Apache License, version 2.0
    • Eclipse Public License
    • Mozilla Public License (MPL) 1.1
    • MPL 2.0
    • CDDL
  • pass ./project_precommit_check script run

Ensure project meets all listed requirements before submitting a pull request.

@shahmishal
Copy link
Member

@swift-ci test

@JohnEstropia
Copy link
Contributor Author

JohnEstropia commented Sep 24, 2021

@shahmishal Sorry, I'm not sure what's going on but those errors are coming from the Combine framework itself.

/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk/System/Library/Frameworks/Combine.framework/Modules/Combine.swiftmodule/armv7-apple-ios.swiftinterface:57:59: error: 'AnyCancellable' is only available in iOS 13.0 or newer
final public func store(in set: inout Swift.Set<Combine.AnyCancellable>)

These errors don't come up in the iOS 12 unit tests and neither in my local ./project_precommit_check execution.
I've also checked that all Combine module imports in the lib are wrapped in #if canImport(Combine) blocks.

Is there anything I'm missing?

@JohnEstropia
Copy link
Contributor Author

I see what was going on. Some files were missing an import Foundation. This was fixed in a later update that supports Swift 5.4, but I believe Swift 5.4 isn't a key version in the swift-source-compat-suite. In this case, what is the correct approach? Should I add the Swift 5.4/5.5 hash to the 5.3 key instead?

@shahmishal
Copy link
Member

I would recommend having one hash/version for 5.x, because currently Swift project supports following compatibility versions.

  • 4
  • 4.2
  • 5

@justice-adams-apple
Copy link
Contributor

@swift-ci test

@justice-adams-apple
Copy link
Contributor

Hi @JohnEstropia 👋 , we recommend using just one source revision for 5.X rather than separate revisions for 5.1, 5.2, and 5.3 as it doesn't add any additional build coverage

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

Successfully merging this pull request may close these issues.

None yet

3 participants