-
Notifications
You must be signed in to change notification settings - Fork 154
Add GRDB+Swift 5.7 #792
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 GRDB+Swift 5.7 #792
Conversation
Also, restore swiftlang#574 which had been reverted for some reason, leaving only support for Swift 4.2 compatibility :-(
@shahmishal, sorry for quoting you, but according to my experience from #574, the CI won't do anything until you trigger it as in this comment. This PR is useful in the context of [Pitch] Elide |
Hello @shahmishal, @justice-adams-apple. What can I do to have this PR merged? |
@groue Sorry for late response! I'll kick off the testing now and get this in soon. Could you elaborate on
Did something you committed previously get removed? |
@swift-ci test |
projects.json
Outdated
} | ||
}, | ||
{ | ||
"version": "5.0", |
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.
@groue Ok I did some digging, I see that #613 removed the revisions for 5.0, 5.1, and 5.3 by mistake.
The source compat suite will pass the language major version to the compiler. So the swift build will use -swift-version 5
for each of these GRDB versions you listed, meaning each entry will be built the same way (although with different repository revisions), I'm not sure if that's what you intended. If you want to build all these various GRDB revisions the same way (with -swift-version 5
), then leave it as is.
If you want to build just one revision of GRDB with -swift-version 5
, I'd recommend just one entry with your most recent commit, namely
{
"version": "5.7",
"commit": "2d19cab2b525f885ee8d7efec96093431f6b5f20"
}
It's up to you, as I'm not sure about the nature of the commit revisions in question
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.
Thank you @justice-adams-apple :-)
It's up to you, as I'm not sure about the nature of the commit revisions in question
Thanks for the precision :-) The version I care about is the latest, but the library has changed a lot in years, so I'd rather keep a few old versions here - for the sake of compatibility testing :-)
I have pushed a fix, e1e956a, with the latest commit supported by each language version.
with the latest commit supported by each language version
@swift-ci test |
Is there anything I should change in the pull request? |
@groue the projet is currently failing to build with
I believe (correct me if I'm wrong) this is due to our need to update the SDK used in our open source CI system, which we are planning to do by the end of this week. So the plan is to update the SDK, then merge this :) |
Thanks for the feedback, @justice-adams-apple :-)
I think you're right.
It is guarded, in GRDB code, by this compiler condition:
The capitalized flags test for various flavors of SQLite (custom build or SQLCipher) that are unrelated to compatibility checking - we can forget about them. Remains This complex test is necessary for the macOS SDK that ships with Xcode 14.0 very specifically. Maybe you remember, but N.0 Xcode versions ship with weird sdks (new stuff, and old stuff at the same time). Things were fixed in Xcode 14.0.1. I'm pretty sure this is the problem: the SDK used for compatibility testing misses
|
@swift-ci test |
|
Thank you very much! |
Pull Request Description
Hello, this pull request adds compatibility check for GRDB with Swift 5.0, 5.1, 5.3, and 5.7.
Compatibility with Swift 5.3 had been added by #574, but it was reverted for some reason (???). This PR restores the deleted compatibility checks.
Acceptance Criteria
To be accepted into the Swift source compatibility test suite, a project must:
./project_precommit_check
script run