Merge pull request #8 from PureSwift/feature/code-coverage #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Swift Android | |
| on: [push] | |
| jobs: | |
| android: | |
| name: Android (unit tests) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| # Cross-compiles the package for Android and runs the XCTest suite on an | |
| # Android emulator (x86_64) provisioned by the action. | |
| - name: Build and test on Android emulator | |
| uses: skiptools/swift-android-action@v2 | |
| with: | |
| swift-version: 6.3.3 | |
| android-armv7: | |
| name: Android (armv7 cross-compile) | |
| runs-on: ubuntu-latest | |
| container: swift:6.3.3 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: apt-get update -y && apt-get install -y curl | |
| - name: Install Swift Android SDK | |
| # The Android SDK artifact bundle is only published for 6.3.3, and the | |
| # host toolchain must match the bundle version exactly (Swift's module | |
| # format isn't cross-patch-compatible) — hence the swift:6.3.3 container. | |
| run: | | |
| set -eux | |
| url="https://download.swift.org/swift-6.3.3-release/android-sdk/swift-6.3.3-RELEASE/swift-6.3.3-RELEASE_android.artifactbundle.tar.gz" | |
| curl -fsSL "$url" -o android.artifactbundle.tar.gz | |
| swift sdk install android.artifactbundle.tar.gz \ | |
| --checksum d160cc3206dd1886dae3fef2337af5e25ec034692cd0ec225721c56cc69da7f5 | |
| swift sdk list | |
| # armv7 can't run on the x86_64 emulator, so this is a cross-compile check | |
| # only. The bundle installs as a single multi-arch SDK; the architecture is | |
| # selected by target triple. Read the exact armv7 triple (with its | |
| # API-level suffix) from the installed SDK metadata rather than pinning it. | |
| - name: Build (armv7) | |
| run: | | |
| set -eux | |
| TRIPLE=$(grep -rhoE 'armv7-unknown-linux-androideabi[0-9]*' ~/.swiftpm | sort -u | head -1) | |
| test -n "$TRIPLE" | |
| echo "Using target triple: $TRIPLE" | |
| swift build --swift-sdk "$TRIPLE" |