diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index bbfbf536..a6e4940e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -32,6 +32,8 @@ jobs: profile: minimal toolchain: 1.81.0 default: true + - name: Select Xcode 15.4 + run: sudo xcode-select -s /Applications/Xcode_15.4.app - name: Build Automerge XCFramework and library if: steps.cache-automerge.outputs.cache-hit != 'true' run: ./scripts/build-xcframework.sh @@ -46,11 +48,13 @@ jobs: libuniffi_automerge.a libuniffi_automerge_threads.a - test-automerge-swift: + mac: runs-on: macos-14 needs: automerge-dependencies steps: - uses: actions/checkout@v4 + - name: Select Xcode 15.4 + run: sudo xcode-select -s /Applications/Xcode_15.4.app - name: Restore Automerge XCFramework and library uses: actions/cache/restore@v4 with: @@ -65,7 +69,7 @@ jobs: - name: Swift tests run: swift test - test-automerge-wasm: + wasm: runs-on: ubuntu-latest needs: automerge-dependencies strategy: @@ -86,24 +90,24 @@ jobs: libuniffi_automerge.a libuniffi_automerge_threads.a key: automerge-dependencies-{{ hashFiles(AutomergeUniffi/automerge.swift) }}-{{ hashFiles(rust/Cargo.lock) }} - - name: Cache SDK for WebAssembly - id: cache-wasm-sdk + - name: Cache Toolchain for WebAssembly + id: cache-wasm-toolchain uses: actions/cache@v4 with: - path: /tmp/swift-sdk.tar.gz - key: wasm-sdk-${{ matrix.checksum }} - - name: Download SDK for WebAssembly + path: /tmp/swift-toolchain.tar.gz + key: wasm-toolchain-${{ matrix.checksum }} + - name: Download Toolchain for WebAssembly if: steps.cache-wasm-sdk.outputs.cache-hit != 'true' run: | SWIFT_TOOLCHAIN_TAG="${{ matrix.toolchain }}" set -ex - curl -f -o /tmp/swift-sdk.tar.gz "https://download.swift.org/development/ubuntu2204/$SWIFT_TOOLCHAIN_TAG/$SWIFT_TOOLCHAIN_TAG-ubuntu22.04.tar.gz" + curl -f -o /tmp/swift-toolchain.tar.gz "https://download.swift.org/development/ubuntu2204/$SWIFT_TOOLCHAIN_TAG/$SWIFT_TOOLCHAIN_TAG-ubuntu22.04.tar.gz" - name: Install Swift and Swift SDK for WebAssembly run: | PREFIX=/opt/swift SWIFT_SDK_TAG="${{ matrix.swift-sdk }}" set -ex - sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift-sdk.tar.gz -C $PREFIX --strip-component 1 + sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift-toolchain.tar.gz -C $PREFIX --strip-component 1 $PREFIX/usr/bin/swift sdk install "https://github.com/swiftwasm/swift/releases/download/$SWIFT_SDK_TAG/$SWIFT_SDK_TAG-wasm32-unknown-wasi.artifactbundle.zip" --checksum ${{ matrix.checksum }} echo "$PREFIX/usr/bin" >> $GITHUB_PATH - name: Build tests