Skip to content

Commit 6e2724d

Browse files
committed
Add ndk caching and remove unused sdk_triple
1 parent 1e6c8ee commit 6e2724d

1 file changed

Lines changed: 23 additions & 14 deletions

File tree

.github/workflows/ci.yml

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ name: ci
22

33
on:
44
push:
5-
#branches: [main]
65
pull_request:
6+
schedule:
7+
- cron: '0 0 * * *'
78
workflow_dispatch:
89
inputs:
910
swift_versions:
@@ -25,12 +26,10 @@ jobs:
2526
fail-fast: false
2627
matrix:
2728
swift_version: ${{ fromJSON(inputs.swift_versions || '["6.3", "nightly-main"]') }}
28-
sdk_triple: ['aarch64-unknown-linux-android28']
29-
ndk_version: ['r27d']
29+
ndk_version: ['r27d', 'r30-beta1']
3030
os: ['ubuntu-latest', 'macos-latest']
3131
runs-on: ${{ matrix.os }}
3232
env:
33-
SDK_TRIPLE: ${{ matrix.sdk_triple }}
3433
NDK_VERSION: ${{ matrix.ndk_version }}
3534
SWIFT_VERSION: ${{ matrix.swift_version }}
3635
steps:
@@ -75,14 +74,24 @@ jobs:
7574
exit 1
7675
fi
7776
77+
- name: Cache Android NDK
78+
id: cache-ndk
79+
uses: actions/cache@v4
80+
with:
81+
path: ~/android-ndk-${{ matrix.ndk_version }}
82+
key: android-ndk-${{ runner.os }}-${{ runner.arch }}-${{ matrix.ndk_version }}
83+
7884
- name: Install Android NDK
85+
if: steps.cache-ndk.outputs.cache-hit != 'true'
7986
run: |
8087
set -euxo pipefail
8188
OS="$(uname -s | tr '[A-Z]' '[a-z]')"
8289
curl -L -o ndk.zip --retry 3 "https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-${OS}.zip"
8390
unzip -q ndk.zip -d "$HOME"
8491
rm ndk.zip
85-
echo "ANDROID_NDK_HOME=$HOME/android-ndk-${NDK_VERSION}" >> "$GITHUB_ENV"
92+
93+
- name: Set ANDROID_NDK_HOME
94+
run: echo "ANDROID_NDK_HOME=$HOME/android-ndk-${NDK_VERSION}" >> "$GITHUB_ENV"
8695

8796
- name: Install Android Swift SDK and matching host toolchain
8897
# Looks up the Android Swift SDK URL and checksum from the swift.org
@@ -182,34 +191,34 @@ jobs:
182191
:SwiftKitCore:publishToMavenLocal
183192
184193
- name: Build hello-swift-raw-jni APK
185-
run: ./gradlew :hello-swift-raw-jni:assembleDebug --stacktrace
194+
run: ./gradlew :hello-swift-raw-jni:assembleRelease --stacktrace
186195

187196
- name: Build hello-swift-raw-jni-callback APK
188-
run: ./gradlew :hello-swift-raw-jni-callback:assembleDebug --stacktrace
197+
run: ./gradlew :hello-swift-raw-jni-callback:assembleRelease --stacktrace
189198

190199
- name: Build hello-swift-raw-jni-library
191-
run: ./gradlew :hello-swift-raw-jni-library:assembleDebug --stacktrace
200+
run: ./gradlew :hello-swift-raw-jni-library:assembleRelease --stacktrace
192201

193202
- name: Build native-activity APK
194-
run: ./gradlew :native-activity:assembleDebug --stacktrace
203+
run: ./gradlew :native-activity:assembleRelease --stacktrace
195204

196205
- name: Build hello-swift-java APK
197-
run: ./gradlew :hello-swift-java-hashing-app:assembleDebug --stacktrace
206+
run: ./gradlew :hello-swift-java-hashing-app:assembleRelease --stacktrace
198207

199208
- name: Build swift-java-weather-app APK
200-
run: ./gradlew :swift-java-weather-app-weather-app:assembleDebug --stacktrace
209+
run: ./gradlew :swift-java-weather-app-weather-app:assembleRelease --stacktrace
201210

202211
- name: Build hello-cpp-swift cpp-lib
203212
working-directory: hello-cpp-swift/cpp-lib
204213
run: ./build-android-static.sh
205214

206215
- name: Build hello-cpp-swift APK
207-
run: ./gradlew :hello-cpp-swift:app:assembleDebug --stacktrace
216+
run: ./gradlew :hello-cpp-swift:app:assembleRelease --stacktrace
208217

209218
- name: Summarize APK artifacts
210219
if: always()
211220
run: |
212-
echo "## APK Artifacts (${{ matrix.os }} / swift:${{ matrix.swift_version }} / ${{ matrix.sdk_triple }})" >> "$GITHUB_STEP_SUMMARY"
221+
echo "## APK Artifacts (os:${{ matrix.os }} / swift:${{ matrix.swift_version }} / ndk:${{ matrix.ndk_version }})" >> "$GITHUB_STEP_SUMMARY"
213222
echo "" >> "$GITHUB_STEP_SUMMARY"
214223
echo "| Project | APK | Size |" >> "$GITHUB_STEP_SUMMARY"
215224
echo "|---------|-----|------|" >> "$GITHUB_STEP_SUMMARY"
@@ -231,7 +240,7 @@ jobs:
231240
if: always()
232241
uses: actions/upload-artifact@v7
233242
with:
234-
name: apks-${{ matrix.os }}-${{ matrix.swift_version }}-${{ matrix.sdk_triple }}-${{ matrix.ndk_version }}
243+
name: apks-${{ matrix.os }}-${{ matrix.swift_version }}-${{ matrix.ndk_version }}
235244
path: '**/build/outputs/apk/**/*.apk'
236245
if-no-files-found: warn
237246

0 commit comments

Comments
 (0)