Android: now that build-docker is run on CI, push Android API minimum to 23#536
Conversation
|
|
||
| # This `git grep` invocation in a trunk test fails in our Docker for some | ||
| # reason, so just turn it into a plain `grep` again. | ||
| perl -pi -e 's:"git",:#:' ${WORKDIR}/source/swift-project/swift/test/Misc/verify-swift-feature-testing.test-sh |
There was a problem hiding this comment.
We never knew why this was needed, some filesystem issue in our local testing that presumably doesn't affect whatever Docker config the official CI uses?
@justice-adams-apple, can you try removing this substitution from the official Android CI script too and see if it still works?
| # reason, so just turn it into a plain `grep` again. | ||
| perl -pi -e 's:"git",:#:' ${WORKDIR}/source/swift-project/swift/test/Misc/verify-swift-feature-testing.test-sh | ||
|
|
||
| # Work around swiftlang/swift-driver#1822 for now |
There was a problem hiding this comment.
Unfortunately, this toolchain issue is still unresolved, so still need this.
| perl -pi -g -we "s#(call rm ... \".\{LIBDISPATCH_BUILD_DIR\}\"\n(\s+)fi\n)#\1\2if [[ -d \"\\\${ANDROID_NDK}\" ]]; then call ln -sf \"\\\${SWIFT_BUILD_PATH}/lib/swift\" \"\\\${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib\"; fi#" ${WORKDIR}/source/swift-project/swift/utils/build-script-impl | ||
|
|
||
| # disable backtrace() for Android (needs either API33+ or libandroid-execinfo, or to manually add in backtrace backport) | ||
| perl -pi -e 's;os\(Android\);os\(AndroidDISABLED\);g' ${WORKDIR}/source/swift-project/swift-testing/Sources/Testing/SourceAttribution/Backtrace.swift |
There was a problem hiding this comment.
Fixed by swiftlang/swift-testing#1356, which is in 6.3 also, but we kept this patch around since we nominally supported 6.2 also.
Now that 6.3 is out, we don't need it, so the CI team can also remove this line from your Android CI scripts.
| rm ${WORKDIR}/source/swift-project/swift/test/Interop/SwiftToCxx/stdlib/stdlib-in-cxx-no-diagnostics-generated-header.cpp | ||
| rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_decoding_packs.swift | ||
| rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_lowering.swift | ||
| rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_lowering_packs.swift |
There was a problem hiding this comment.
These tests were all disabled upstream in swiftlang/swift#86034 and swiftlang/swift#88056 instead, while typeref_lowering.swift was likely fixed by the recent build directory deletions.
|
I'm setting up GitHub CI with |
|
I will redo this once #538 is merged and the CI starts using this script. |
build-{docker,local} are not run on the CI anywaybuild-docker is run on CI, push Android API minimum to 23
|
This is ready to go, just waiting on final approval from @swiftlang/android-workgroup on pushing down to API 23. |
|
@justice-adams-apple, this is ready to go in, now that swiftlang/swift#88996 was approved and swiftlang/swift#88435 merged, ie the Windows toolchain CI version of this change to API 23 for the Swift 6.4 and trunk branches. The Android workgroup would like to keep all these non-6.3 CI that build the Android SDKs synced to the same Android API version. |
|
@finagolfin so main and 6.4 CI for post-merge should target API 23? Same NDK I assume? |
|
Yes, all 6.4 and main CI should build Android SDKs against API 23 from now on. Same NDK 28c for now, with NDK 30 beta 1 dependent on that extra linux runner job we discussed, until NDK 30 beta 2 is out, after which we switch all 6.4 and trunk CI to beta 2. |
| # disable backtrace() for Android (needs either API33+ or libandroid-execinfo, or to manually add in backtrace backport) | ||
| perl -pi -e 's;os\(Android\);os\(AndroidDISABLED\);g' ${WORKDIR}/source/swift-project/swift-testing/Sources/Testing/SourceAttribution/Backtrace.swift | ||
|
|
||
| # Push trunk back to build against Android API 24 with NDK 28c |
There was a problem hiding this comment.
Can we adjust this comment to reflect the new functionality?
|
Hold on, made a mistake |
…inimum to 23
and remove unneeded source modifications for both `build-{docker,local}`
|
OK, ready for merge, as I had missed the non-6.3 check in my earlier commit, fixed now. |
and remove unneeded source modifications for both
build-{docker,local}