Moya: [CI] Support multiple Swift versions.

Created on 30 Jul 2017  路  4Comments  路  Source: Moya/Moya

Right now #1193 will update our Swift support to Swift 3.1, 3.2 and 4.0. While it is awesome, we should do some checks to make sure we do not break these unintentionally. We can do builds for all of them, but I think checking for 3.2 & 4.0 compatibility should be enough. What do you guys think?

enhancement

Most helpful comment

I think those two would be enough. Then in September we can drop Swift 3 tests.

All 4 comments

I think those two would be enough. Then in September we can drop Swift 3 tests.

Update: So I tried the new workflows API from CircleCI, but seems like macOS is not yet supported there. Thus, we probably need to fallback to rake.

Edit: I'm gonna unassign myself from that one for a while, if anyone have more free time to do it, feel free to assign yourself.

Update: CircleCI 2 on macOS is in beta stages and for the last few days I was tweaking the script to at least run 3 jobs asynchronously - with success! You can take a look at branch workflows which is kinda in a WIP stage. I've managed to split our build process into 3 routes:

  • build_demo (builds our Demo project, with CocoaPods)
  • test_integration_carthage (tests Carthage integration)
  • test (tests the project)

And after that there is a danger/codecov plugin that I didn't really test that well, because I would need a PR on top of that.

Also, all of these reduced our build time to around ~12-13 minutes (from 20-25)!

Now I just need to add additional asynchronous routes so it can test with Swift 3.2 & Swift 4 at the same time. I'm gonna update you guys here with the progress!

Got a working copy of both Swift 3.2 & 4.0 builds on here, really cool stuff. Might try to get skipping trivial builds if it's possible as well.

Was this page helpful?
0 / 5 - 0 ratings