@@ -297,21 +297,31 @@ runs:
297
297
# for the bundle, we just grab the most recently installed one
298
298
SWIFT_SDK_ARTIFACTBUNDLE=$(ls -1drt ${SWIFT_SDK_ROOT}/*.artifactbundle | tail -n 1)
299
299
else
300
- SWIFT_SDK_ANROID_API="24"
301
- echo "SWIFT_SDK_ANROID_API=${SWIFT_SDK_ANROID_API}" >> $GITHUB_ENV
302
-
303
- SWIFT_SDK_ID="${{ steps.setup.outputs.swift-id }}-android-${SWIFT_SDK_ANROID_API}-0.1"
304
-
305
- SWIFT_SDK_TARGET="${{ steps.setup.outputs.android-sdk-arch }}-unknown-linux-android${SWIFT_SDK_ANROID_API}"
306
- echo "SWIFT_SDK_TARGET=${SWIFT_SDK_TARGET}" >> $GITHUB_ENV
307
-
308
300
mkdir -p ${RUNNER_TEMP}/swift-android-toolchain
309
301
cd ${RUNNER_TEMP}/swift-android-toolchain
310
302
303
+ SWIFT_SDK_ID="${{ steps.setup.outputs.swift-id }}-android"
304
+ # TODO: identify the version automatically
305
+ SWIFT_SDK_VERSION="0.1"
306
+
307
+ if [[ "${SWIFT_VERSION}" =~ "6.0" || "${SWIFT_VERSION}" =~ "6.1" ]]; then
308
+ # Swift Android SDK 6.0/6.1 targets API 24+
309
+ SWIFT_SDK_ANROID_API="24"
310
+ SWIFT_SDK_ID="${SWIFT_SDK_ID}-${SWIFT_SDK_ANROID_API}-${SWIFT_SDK_VERSION}"
311
+ else
312
+ # Swift Android SDK 6.2+ targets API 28+
313
+ SWIFT_SDK_ANROID_API="28"
314
+ # 6.2+ no longer includes the API in the artifactbundle name
315
+ SWIFT_SDK_ID="${SWIFT_SDK_ID}-${SWIFT_SDK_VERSION}"
316
+ fi
311
317
ANDROID_SDK_URL="https://github.com/skiptools/swift-android-toolchain/releases/download/${{ steps.setup.outputs.swift-version }}/${SWIFT_SDK_ID}.artifactbundle.tar.gz"
318
+
312
319
echo "ANDROID_SDK_URL: ${ANDROID_SDK_URL}"
313
320
curl -fsSL --retry 8 --retry-connrefused ${ANDROID_SDK_URL} --output ${SWIFT_SDK_ID}.artifactbundle.tar.gz
314
321
322
+ SWIFT_SDK_TARGET="${{ steps.setup.outputs.android-sdk-arch }}-unknown-linux-android${SWIFT_SDK_ANROID_API}"
323
+ echo "SWIFT_SDK_TARGET=${SWIFT_SDK_TARGET}" >> $GITHUB_ENV
324
+
315
325
# first check if it already installed (we may be running this workflow multiple times for an action, in which case it will already be present)
316
326
${SWIFT_INSTALLATION}/bin/swift sdk configure --show-configuration ${SWIFT_SDK_ID} ${SWIFT_SDK_TARGET} &> /dev/null || ${SWIFT_INSTALLATION}/bin/swift sdk install ${SWIFT_SDK_ID}.artifactbundle.tar.gz
317
327
@@ -384,7 +394,7 @@ runs:
384
394
# copy any optional resource bundles
385
395
cp -vaf ${BUILD_DIR}/${SWIFT_SDK_TARGET}/${{ inputs.swift-configuration }}/*.resources ${PACK_DIR} || true
386
396
# 6.0.2 keeps libraries in per-API folders
387
- cp -vaf ${SWIFT_ARTIFACTBUNDLE_SDK_ROOT_PATH}/usr/lib/${{ steps.setup.outputs.android-sdk-arch }}-linux-android/${SWIFT_SDK_ANROID_API} /lib*.so ${PACK_DIR} || true
397
+ cp -vaf ${SWIFT_ARTIFACTBUNDLE_SDK_ROOT_PATH}/usr/lib/${{ steps.setup.outputs.android-sdk-arch }}-linux-android/24 /lib*.so ${PACK_DIR} || true
388
398
389
399
# 6.0.3 keeps libraries in the parent folder
390
400
cp -vaf ${SWIFT_ARTIFACTBUNDLE_SDK_ROOT_PATH}/usr/lib/${{ steps.setup.outputs.android-sdk-arch }}-linux-android/lib*.so ${PACK_DIR} || true
0 commit comments