Enable Android emulator testing with the snapshot toolchains employing swift-build in SwiftPM#1745
Enable Android emulator testing with the snapshot toolchains employing swift-build in SwiftPM#1745finagolfin wants to merge 1 commit into
Conversation
| tests: | ||
| name: Test | ||
| uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.11 | ||
| uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main |
There was a problem hiding this comment.
@shahmishal Should we cut a new tag of swift_package_test? I would rather we not depend on main here, but the last tag was April 14th
There was a problem hiding this comment.
Hold on, we're still adjusting the Android workflow to swift-build, swiftlang/github-workflows#277 and the NDK bug below, for which this repo is a good test.
There was a problem hiding this comment.
Just echoing @harlanhaskins: I think we should not switch to main, and should instead wait for a new tag of github-workflows containing whatever new content you need. We use pinned versions intentionally.
There was a problem hiding this comment.
Sure, but I can't test those new workflow changes from upstream without this update of the workflow branch here, while I work on this pull and the workflow changes needed.
There was a problem hiding this comment.
Absolutely, no problem. I only meant to say that I think by the time this lands, we ought to replace this with a new tag. Using it temporarily to iterate makes sense
|
Weird, failing with: Why isn't the |
|
I am trying to reproduce that failure locally with the trunk snapshot toolchain, will let you know. |
|
Huh, I cannot reproduce that build error in a linux environment running the same commands, implying it is something specific to the CI environment. |
|
Oh, found it, |
… swift-build in SwiftPM
|
The workflow was updated to add the 6.4 snapshots, will submit a fix for the NDK issue next. |
|
Sounds like this isn't ready to review yet? |
|
No, the failed tests are an indicator, 😉 but what do you think about disabling 6.3 testing? |
Specifically for Android? Sure, I buy it. For all platforms? Nay! |
Yep, just stop cross-compiling trunk for Android with the 6.3 toolchain, as we're doing with this pull still.
Why not? Doesn't much matter to me, but I don't see any value in continuing to build trunk Testing with 6.3, and I think you once said the practice here is only to keep it compiling with the previous release branch, which is now 6.4. |
|
6.4 hasn't been released yet, and we don't have 6.4 toolchains set up in CI for all platforms. So 6.3 needs to stay for now, but since we don't formally support Android with Swift Testing yet (since, hey, no CI tests!) we can probably drop the 6.3 Android jobs without much fuss. |
|
Is the problem that the tests build for 6.3 but they encounter failures? Or do the tests (or the product code itself) fail to build outright? If the former, my preference would be to maintain the CI which builds everything for 6.3, but just disable running the tests on that Swift version. |
|
@stmontgomery, the latter, ie the tests do not cross-compile for Android with Swift 6.3, whereas they now do with Swift 6.4 and 6.5 using Also, the official Swiftlang workflows don't provide ways to only build for one Swift version while testing other versions. |
In that case I'm fine with dropping the 6.3 CI build for Android |
@marcprux found that the trunk snapshot toolchain now successfully cross-compiles the tests for Android, which I was able to reproduce locally with the latest 6.4 snapshot also. With the latest GitHub workflows using
swift-buildagain for the 6.4 and trunk snapshots, swiftlang/github-workflows#269, let's see if the trunk tests run in the emulator.We currently cross-compile this repo to Android using the defaults of 6.3, nightly-6.3, and trunk, and we'll probably add nightly-6.4 soon: can we drop cross-compiling for Android with 6.3 then? That will allow us to run the tests for 6.4 and trunk in the emulator, without any workarounds needed for 6.3 being unable to cross-compile these tests.