diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ab59d1e..59eca07b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,8 @@ concurrency: cancel-in-progress: true jobs: - library: + macos: + name: macOS runs-on: macos-14 strategy: matrix: @@ -29,15 +30,43 @@ jobs: # run: CONFIG=${{ matrix.config }} make build-for-library-evolution linux: + name: Linux + runs-on: ubuntu-latest strategy: matrix: config: ['debug', 'release'] swift: - '5.10' - name: Linux (Swift ${{ matrix.swift }}) - runs-on: ubuntu-latest container: swift:${{ matrix.swift }} steps: - uses: actions/checkout@v4 - name: Run tests run: swift test -c ${{ matrix.config }} + + wasm: + name: Wasm + runs-on: ubuntu-latest + strategy: + matrix: + include: + - toolchain: swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a + swift-sdk: swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a + steps: + - uses: actions/checkout@v4 + - uses: bytecodealliance/actions/wasmtime/setup@v1 + - name: Install Swift and Swift SFK for WebAssembly + run: | + PREFIX=/opt/swift + SWIFT_TOOLCHAIN_TAG="${{ matrix.toolchain }}" + SWIFT_SDK_TAG="${{ matrix.swift-sdk }}" + set -ex + curl -f -o /tmp/swift.tar.gz "https://download.swift.org/development/ubuntu2204/$SWIFT_TOOLCHAIN_TAG/$SWIFT_TOOLCHAIN_TAG-ubuntu22.04.tar.gz" + sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift.tar.gz -C $PREFIX --strip-component 1 + $PREFIX/usr/bin/swift experimental-sdk install "https://github.com/swiftwasm/swift/releases/download/$SWIFT_SDK_TAG/$SWIFT_SDK_TAG-wasm32-unknown-wasi.artifactbundle.zip" + echo "$PREFIX/usr/bin" >> $GITHUB_PATH + - name: Build tests + run: swift build --swift-sdk wasm32-unknown-wasi --build-tests -Xlinker -z -Xlinker stack-size=$((1024 * 1024)) + - name: Run tests + run: wasmtime --dir . .build/debug/swift-clocksPackageTests.wasm + +