diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index f3ca004c..8951ccf8 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -7,36 +7,49 @@ on: branches: [main] jobs: - swift-test: - strategy: - matrix: - include: - - os: macos-13 # TODO: macos-14 runner expected in October-December 2023 - swift_version: "5.9" - xcode: /Applications/Xcode_15.0.app/Contents/Developer - - os: ubuntu-22.04 - swift_version: "5.9" - name: Build on ${{ matrix.os }} with Swift ${{ matrix.swift_version }} + swift-test-macos: + name: Build and test on macOS timeout-minutes: 40 - runs-on: ${{ matrix.os }} + runs-on: macos-13 steps: - uses: actions/checkout@v4 - - uses: swift-actions/setup-swift@v1 - if: ${{ !startsWith(matrix.os, 'macos') }} - with: - swift-version: ${{ matrix.swift_version }} - name: Select Xcode version - if: startsWith(matrix.os, 'macos') run: sudo xcode-select --switch ${{ matrix.xcode }} - name: Install dependencies for macOS run: brew bundle - if: startsWith(matrix.os, 'macos') + - uses: bytecodealliance/actions/wasmtime/setup@v1 + + - name: Build the project + run: | + swift -v + swift build + + - name: Build and install JavaScript and sanitizer resources + run: | + set -ex + npm install + swift run carton-release hash-archive + mkdir -p $HOME/.carton + cp -r static $HOME/.carton + + - name: Run Tests + run: swift test + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + swift-test-linux: + name: Build and test on Linux + timeout-minutes: 40 + runs-on: ubuntu-22.04 + container: swift:5.9 + + steps: + - uses: actions/checkout@v4 - name: Install dependencies for Ubuntu - if: startsWith(matrix.os, 'ubuntu') run: sudo apt-get install wabt binaryen -y - uses: bytecodealliance/actions/wasmtime/setup@v1