Conversation
|
Fleshing out my test matrix, I ran into a few more issues. Fixing them here. |
|
@groue, I think this is ready to go. Did you want to take a look at this before merging? I didn't want to merge without at least a gut check or smoke test from another contributor. 😅 |
groue
left a comment
There was a problem hiding this comment.
Hello @chris-araman,
Why do we need to support Swift 5.1 in the first place (Xcode 11 -> 11.3.1)?
|
Fair question, @groue. 😃 Combine was introduced with the SDKs that were introduced with Swift 5.1 and Xcode 11. I'm building a package that builds on Combine, and therefore has a minimum requirement of Swift 5.1. If a third party is already building on Swift 5.1, and picks up my library, I'd like them to be able to run my unit tests to verify the behavior of my library when built with Swift 5.1. |
|
OK, @chris-araman, I get it. Thank you very much! One last nitpick, and we're good to go:
|
|
FYI, I'm not sure CombineExpectation tests pass with the buggy early versions of Combine. If I remember well, those failures are not a bug in this lib, but a bug in Combine itself. I don't know if this is still accurate. EDIT: I can find trace of this up to v0.5:
However this sentence was removed in 0.6, while keeping the Swift 5.1+ / Xcode 11.0+ requirements. I don't recall if I could workaround the problem or not. And... you bumped requirements to Swift 5.2+ in #16. Anyway. I guess we are converging, now 😅 |
|
Haha, okay. 😊 It looks like the 5.2 requirement came in for SPM here, and it was in the original Podspec. Then, I updated the README to match in #16. Would you be open to me adding a CI matrix for test validation to this repository using GitHub Actions? That way, we could verify with Swift 5.1 and either fix any issues, or explicitly add support. Moving forward, we could catch breaks as they happen. Something similar to this: I'll go ahead and update the README and Podspec to match my change to Package.swift. |
|
Looks like the ci.yml won't take effect until it is merged to |
975c0ff to
5d87b99
Compare
0f374a4 to
1a364d7
Compare
|
@groue, I went ahead and enabled a simple CI workflow. It does look like there are some intermittent test failures, likely due to timing/virtualization. I'm confident we can resolve them.
It doesn't look like there are any differences in test behavior between Swift versions, including 5.1. I'll wait to enable watchOS in the CI matrix until I know you have access to the |
per Xcode 13 beta release notes
Combine was introduced with Swift 5.1 in Xcode 11.
|
I really appreciate your efforts with Github actions here 💯 🎉 🤩 🙌 Tell me when you want me to do something! |
|
Glad to hear it, @groue. 😊 I think I just need to figure out how to ensure the few intermittent test failures are stabilized. It's going to be difficult to make strict assumptions about the intricate timings of 0.01s with If you're able to fill out the form linked here, you might get early access to the |
In slow or virtualized environments like GitHub Actions, these timeouts weren't quite long enough to receive and record sufficient output.
|
I've adjusted the timeouts of the tests that had been failing intermittently. They seem to be passing consistently now. GitHub Actions is a constrained environment, so waiting 0.2s for a 0.1s delay may not always be sufficient. 😊
5.4 and 5.5 are now in the matrix, but they won't actually run until you fill out the form and get access to the That said, I think this PR is ready to land and release. |
Done
All right! I'll be back soon :-) |
|
Looks like you have access to the |
|
👋🏼 @groue, might you have some time this week to review this and groue/CombineTraits#5? I'm hoping to pull these into the next release of my CombineCloudKit. |
|
Hello @chris-araman, v0.10.0 has shipped, thank you very much! |
Fixes:
https://developer.apple.com/documentation/xcode-release-notes/xcode-13-beta-release-notes