@@ -14,17 +14,16 @@ jobs:
1414 fail-fast : false
1515 matrix :
1616 include :
17- - branch : development
18- tag : DEVELOPMENT-SNAPSHOT-2024-02-08-a
17+ - swift_development_build : DEVELOPMENT-SNAPSHOT-2025-09-21-a
1918 options : -Xswiftc "-I${env:SDKROOT}\..\..\..\..\..\..\Toolchains\0.0.0+Asserts\usr\include"
2019
21- name : SPM (Windows) - Swift ${{ matrix.tag }}
20+ name : SPM (Windows) - Swift ${{ matrix.swift_release_tag_name }}
2221
2322 steps :
2423 - uses : compnerd/gha-setup-swift@main
2524 with :
26- tag : ${{ matrix.tag }}
27- branch : ${{ matrix.branch }}
25+ swift-version : development
26+ swift-build : ${{ matrix.swift_development_build }}
2827
2928 - uses : actions/checkout@v4
3029
@@ -49,19 +48,18 @@ jobs:
4948 fail-fast : false
5049 matrix :
5150 include :
52- - branch : development
53- tag : DEVELOPMENT-SNAPSHOT-2024-02-08-a
51+ - swift_development_build : DEVELOPMENT-SNAPSHOT-2025-09-21-a
5452 options : -I${env:SDKROOT}\..\..\..\..\..\..\Toolchains\0.0.0+Asserts\usr\include
5553
56- name : CMake (Windows) - Swift ${{ matrix.tag }}
54+ name : CMake (Windows) - Swift ${{ matrix.swift_release_tag_name }}
5755
5856 steps :
5957 - uses : compnerd/gha-setup-vsdevenv@main
6058
6159 - uses : compnerd/gha-setup-swift@main
6260 with :
63- tag : ${{ matrix.tag }}
64- branch : ${{ matrix.branch }}
61+ swift-version : development
62+ swift-build : ${{ matrix.swift_development_build }}
6563
6664 - uses : actions/checkout@v4
6765
@@ -94,34 +92,29 @@ jobs:
9492 strategy :
9593 fail-fast : false
9694 matrix :
95+ # TODO: Remove the following workaround from `options`, due to missing `libclang_rt.builtins.a`
96+ # and `libunwind.a` libraries in the Swift toolchain:
97+ # -Xclang-linker -resource-dir -Xclang-linker ${env:ANDROID_NDK_ROOT}\toolchains\llvm\prebuilt\windows-x86_64\lib\clang\18
9798 include :
98- - branch : development
99- tag : DEVELOPMENT-SNAPSHOT-2024-08-02-a
100-
99+ - swift_development_build : DEVELOPMENT-SNAPSHOT-2025-11-03-a
101100 abi : arm64-v8a
102- options : -sdk ${env:SDKROOT}..\..\..\..\Android.platform\Developer\SDKs\Android.sdk -sysroot ${env:ANDROID_NDK_ROOT}\toolchains\llvm\prebuilt\windows-x86_64\sysroot -I${env:SDKROOT}\..\..\..\..\..\..\Toolchains\0.0.0+Asserts\usr\include -I${env:SDKROOT}\usr\include -Xlinker -zdefs
101+ options : -sdk ${env:SDKROOT}..\..\..\..\Android.platform\Developer\SDKs\Android.sdk -sysroot ${env:ANDROID_NDK_ROOT}\toolchains\llvm\prebuilt\windows-x86_64\sysroot -Xclang-linker -resource-dir -Xclang-linker ${env:ANDROID_NDK_ROOT}\toolchains\llvm\prebuilt\windows-x86_64\lib\clang\18 - I${env:SDKROOT}\..\..\..\..\..\..\Toolchains\0.0.0+Asserts\usr\include -I${env:SDKROOT}\usr\include -Xlinker -zdefs
103102 target : aarch64-unknown-linux-android28
104103
105- - branch : development
106- tag : DEVELOPMENT-SNAPSHOT-2024-08-02-a
107-
104+ - swift_development_build : DEVELOPMENT-SNAPSHOT-2025-11-03-a
108105 abi : x86_64
109- options : -sdk ${env:SDKROOT}..\..\..\..\Android.platform\Developer\SDKs\Android.sdk -sysroot ${env:ANDROID_NDK_ROOT}\toolchains\llvm\prebuilt\windows-x86_64\sysroot -I${env:SDKROOT}\..\..\..\..\..\..\Toolchains\0.0.0+Asserts\usr\include -I${env:SDKROOT}\usr\include -Xlinker -zdefs
106+ options : -sdk ${env:SDKROOT}..\..\..\..\Android.platform\Developer\SDKs\Android.sdk -sysroot ${env:ANDROID_NDK_ROOT}\toolchains\llvm\prebuilt\windows-x86_64\sysroot -Xclang-linker -resource-dir -Xclang-linker ${env:ANDROID_NDK_ROOT}\toolchains\llvm\prebuilt\windows-x86_64\lib\clang\18 - I${env:SDKROOT}\..\..\..\..\..\..\Toolchains\0.0.0+Asserts\usr\include -I${env:SDKROOT}\usr\include -Xlinker -zdefs
110107 target : x86_64-unknown-linux-android28
111108
112- name : CMake (Android) - Swift ${{ matrix.tag }}
109+ name : CMake (Android) - Swift ${{ matrix.swift_release_tag_name }} ${{ matrix.abi }}
113110
114111 steps :
115112 - uses : compnerd/gha-setup-vsdevenv@main
116113
117114 - uses : compnerd/gha-setup-swift@main
118115 with :
119- # tag: ${{ matrix.tag }}
120- # branch: ${{ atrix.branch }}
121- github-repo : thebrowsercompany/swift-build
122- github-token : ${{ secrets.GITHUB_TOKEN }}
123- release-asset-name : installer-amd64.exe
124- release-tag-name : " 20240909.3"
116+ swift-version : development
117+ swift-build : ${{ matrix.swift_development_build }}
125118
126119 - uses : actions/checkout@v4
127120
@@ -139,7 +132,7 @@ jobs:
139132 - uses : nttld/setup-ndk@afb4c9964b521afb97c864b7d40b11e6911bd410 # v1.5.0
140133 id : setup-ndk
141134 with :
142- ndk-version : r26d
135+ ndk-version : r27c
143136
144137 - uses : actions/setup-java@v4
145138 with :
@@ -148,7 +141,17 @@ jobs:
148141
149142 - uses : android-actions/setup-android@00854ea68c109d98c75d956347303bf7c45b0277 # v3.2.1
150143 with :
151- packages : ' platforms;android-21'
144+ packages : ' platforms;android-28'
145+
146+ # TODO: Remove the workaround step below, due to `std::__voidify()` not being accessible
147+ # with the current combination of Swift toolchain and Andoird NDK versions.
148+ - name : Patch out private symbol std::__voidify() in construct_at.h
149+ env :
150+ ANDROID_NDK_ROOT : ${{ steps.setup-ndk.outputs.ndk-path }}
151+ run : |
152+ $construct_at_h_path="${env:ANDROID_NDK_ROOT}\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\c++\v1\__memory\construct_at.h"
153+ (Get-Content $construct_at_h_path) -replace "std::__voidify","(void *) &" | Set-Content $construct_at_h_path
154+ shell : powershell
152155
153156 - name : Configure
154157 env :
@@ -160,7 +163,7 @@ jobs:
160163 -S ${{ github.workspace }} `
161164 -D CMAKE_SYSTEM_NAME=Android `
162165 -D CMAKE_ANDROID_ARCH_ABI=${{ matrix.abi }} `
163- -D CMAKE_ANDROID_API=21 `
166+ -D CMAKE_ANDROID_API=28 `
164167 -D CMAKE_Swift_COMPILER_TARGET=${{ matrix.target }} `
165168 -D CMAKE_Swift_COMPILER_WORKS=YES `
166169 -D CMAKE_Swift_FLAGS="${{ matrix.options }}" `
0 commit comments