From 3ef5cb117fc0699878e6daa75df9f6165caa5eb3 Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Sat, 15 Feb 2025 02:00:33 +0100 Subject: [PATCH 1/2] Android CI --- .github/workflows/ci.yml | 46 +++++----------------------------------- 1 file changed, 5 insertions(+), 41 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a431b01..266d3a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,45 +76,9 @@ jobs: run: swift test android: - name: Android (Swift 6.0.2) - runs-on: ubuntu-22.04 + name: Android + runs-on: ubuntu-latest steps: - - name: Checkout Repository - uses: actions/checkout@v4 - - name: Install Swift - uses: tayloraswift/swift-install-action@master - with: - swift-prefix: swift-6.0.2-release/ubuntu2204/swift-6.0.2-RELEASE - swift-id: swift-6.0.2-RELEASE-ubuntu22.04 - - name: Check Swift - run: swift --version - - name: Install Android SDK - run: - swift sdk install https://github.com/finagolfin/swift-android-sdk/releases/download/6.0.2/swift-6.0.2-RELEASE-android-24-0.1.artifactbundle.tar.gz --checksum d75615eac3e614131133c7cc2076b0b8fb4327d89dce802c25cd53e75e1881f4 - - name: Check Android SDK - run: - swift sdk configure --show-configuration swift-6.0.2-RELEASE-android-24-0.1 x86_64-unknown-linux-android24 - - name: Build Tests - run: - swift build --build-tests --swift-sdk x86_64-unknown-linux-android24 -Xswiftc -Xclang-linker -Xswiftc -fuse-ld=lld - - name: Prepare Android Emulator Test Script - run: | - mkdir pack - cp .build/x86_64-unknown-linux-android24/debug/swift-custom-dumpPackageTests.xctest pack - - cp /home/runner/.config/swiftpm/swift-sdks/swift-6.0.2-RELEASE-android-24-0.1.artifactbundle/swift-6.0.2-release-android-24-sdk/android-27c-sysroot/usr/lib/x86_64-linux-android/24/lib*.so pack - rm pack/lib{c,dl,log,m,z}.so - - set -x - cat > ~/test-toolchain.sh << EOF - adb push pack /data/local/tmp - adb shell /data/local/tmp/pack/swift-custom-dumpPackageTests.xctest - EOF - - chmod +x ~/test-toolchain.sh - - name: Run Tests on Android Emulator - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: 29 - arch: x86_64 - script: ~/test-toolchain.sh \ No newline at end of file + - uses: actions/checkout@v4 + - name: "Test Swift Package on Android" + uses: skiptools/swift-android-action@v2 \ No newline at end of file From 8b7119a30270f1f90884dd7b56413dd1c5333fdf Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Sat, 15 Feb 2025 12:45:44 +0100 Subject: [PATCH 2/2] Use newer Swift version for wasm --- .github/workflows/ci.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 266d3a2..5f83d91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,12 +48,16 @@ jobs: steps: - uses: actions/checkout@v4 - uses: bytecodealliance/actions/wasmtime/setup@v1 - - uses: swiftwasm/setup-swiftwasm@v1 - with: - swift-version: "wasm-5.9.2-RELEASE" - - name: Build tests - # Extend the stack size to avoid stack overflow in the test suites - run: swift build --triple wasm32-unknown-wasi --build-tests -Xlinker -z -Xlinker stack-size=$((1024 * 1024)) + - name: Install Swift and Swift SDK for WebAssembly + run: | + PREFIX=/opt/swift + set -ex + curl -f -o /tmp/swift.tar.gz "https://download.swift.org/swift-6.0.2-release/ubuntu2204/swift-6.0.2-RELEASE/swift-6.0.2-RELEASE-ubuntu22.04.tar.gz" + sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift.tar.gz -C $PREFIX --strip-component 1 + $PREFIX/usr/bin/swift sdk install https://github.com/swiftwasm/swift/releases/download/swift-wasm-6.0.2-RELEASE/swift-wasm-6.0.2-RELEASE-wasm32-unknown-wasi.artifactbundle.zip --checksum 6ffedb055cb9956395d9f435d03d53ebe9f6a8d45106b979d1b7f53358e1dcb4 + echo "$PREFIX/usr/bin" >> $GITHUB_PATH + - name: Build + run: swift build --swift-sdk wasm32-unknown-wasi -Xlinker -z -Xlinker stack-size=$((1024 * 1024)) - name: Run tests run: wasmtime .build/debug/swift-custom-dumpPackageTests.wasm