VMGen: Synthesize Instruction immediate operand types #317
Workflow file for this run
This file contains 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: Build and test | |
on: | |
pull_request: | |
push: | |
branches: [main] | |
jobs: | |
build-macos: | |
strategy: | |
matrix: | |
include: | |
# Swift 5.8.1 | |
- os: macos-13 | |
xcode: Xcode_14.3.1 | |
development-toolchain-tag: swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a | |
wasi-swift-sdk-download: "https://github.com/swiftwasm/swift/releases/download/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi.artifactbundle.zip" | |
wasi-swift-sdk-id: DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi | |
# Swift 5.9.0 | |
- os: macos-13 | |
xcode: Xcode_15.0.1 | |
development-toolchain-tag: swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a | |
wasi-swift-sdk-download: "https://github.com/swiftwasm/swift/releases/download/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi.artifactbundle.zip" | |
wasi-swift-sdk-id: DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi | |
runs-on: ${{ matrix.os }} | |
name: "build-macos (${{ matrix.xcode }})" | |
steps: | |
- uses: actions/checkout@v4 | |
- id: setup-development | |
run: | | |
toolchain_path="/Library/Developer/Toolchains/${{ matrix.development-toolchain-tag }}.xctoolchain" | |
pkg="$(mktemp -d)/InstallMe.pkg" | |
development_toolchain_download="https://download.swift.org/development/xcode/${{ matrix.development-toolchain-tag }}/${{ matrix.development-toolchain-tag }}-osx.pkg" | |
curl -L "$development_toolchain_download" -o $pkg | |
sudo installer -pkg $pkg -target / | |
echo "toolchain-path=$toolchain_path" >> $GITHUB_OUTPUT | |
"$toolchain_path/usr/bin/swift" sdk install "${{ matrix.wasi-swift-sdk-download }}" | |
wasi_sdk_path=$("$toolchain_path/usr/bin/swift" sdk configure --show-configuration "${{ matrix.wasi-swift-sdk-id }}" wasm32-unknown-wasi | grep sdkRootPath: | cut -d: -f2) | |
echo "wasi-swift-sdk-path=$(dirname $wasi_sdk_path)" >> $GITHUB_OUTPUT | |
- name: Select Xcode version | |
run: sudo xcode-select -switch /Applications/${{ matrix.xcode }}.app | |
- name: Configure Tests/default.json | |
run: | | |
cat <<EOS > Tests/default.json | |
{ | |
"swiftExecutablePath": "${{ steps.setup-development.outputs.toolchain-path }}/usr/bin/swift", | |
"wasiSwiftSDKPath": "${{ steps.setup-development.outputs.wasi-swift-sdk-path }}", | |
"hostSwiftExecutablePath": "$(xcrun --find swift)", | |
"hostSdkRootPath": "$(xcrun --show-sdk-path --sdk macosx)" | |
} | |
EOS | |
- run: ./Vendor/checkout-dependency | |
- run: swift test --sanitize address | |
build-xcode: | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- run: xcrun xcodebuild -skipMacroValidation -skipPackagePluginValidation build -scheme WasmKit-Package -destination generic/platform=macOS | |
- run: xcrun xcodebuild -skipMacroValidation -skipPackagePluginValidation build -scheme WasmKit-Package -destination generic/platform=iOS | |
- run: xcrun xcodebuild -skipMacroValidation -skipPackagePluginValidation build -scheme WasmKit-Package -destination generic/platform=watchOS | |
- run: xcrun xcodebuild -skipMacroValidation -skipPackagePluginValidation build -scheme WasmKit-Package -destination generic/platform=tvOS | |
- run: xcrun xcodebuild -skipMacroValidation -skipPackagePluginValidation build -scheme WasmKit-Package -destination generic/platform=visionOS | |
build-linux: | |
strategy: | |
matrix: | |
include: | |
- swift: "5.8-focal" | |
development-toolchain-download: "https://download.swift.org/development/ubuntu2004/swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a/swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a-ubuntu20.04.tar.gz" | |
wasi-swift-sdk-download: "https://github.com/swiftwasm/swift/releases/download/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi.artifactbundle.zip" | |
wasi-swift-sdk-id: DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi | |
- swift: "5.8-amazonlinux2" | |
development-toolchain-download: "https://download.swift.org/development/amazonlinux2/swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a/swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a-amazonlinux2.tar.gz" | |
wasi-swift-sdk-download: "https://github.com/swiftwasm/swift/releases/download/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi.artifactbundle.zip" | |
wasi-swift-sdk-id: DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi | |
- swift: "5.9-focal" | |
development-toolchain-download: "https://download.swift.org/development/ubuntu2004/swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a/swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a-ubuntu20.04.tar.gz" | |
wasi-swift-sdk-download: "https://github.com/swiftwasm/swift/releases/download/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi.artifactbundle.zip" | |
wasi-swift-sdk-id: DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi | |
- swift: "5.9-amazonlinux2" | |
development-toolchain-download: "https://download.swift.org/development/amazonlinux2/swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a/swift-DEVELOPMENT-SNAPSHOT-2024-07-08-a-amazonlinux2.tar.gz" | |
wasi-swift-sdk-download: "https://github.com/swiftwasm/swift/releases/download/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a/swift-wasm-DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi.artifactbundle.zip" | |
wasi-swift-sdk-id: DEVELOPMENT-SNAPSHOT-2024-07-09-a-wasm32-unknown-wasi | |
runs-on: ubuntu-20.04 | |
name: "build-linux (${{ matrix.swift }})" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Configure container | |
run: | | |
docker run -dit --name build-container -v $PWD:/workspace -w /workspace swift:${{ matrix.swift }} | |
echo 'docker exec -i build-container "$@"' > ./build-exec | |
chmod +x ./build-exec | |
- name: Install Development toolchain | |
id: setup-development | |
run: | | |
toolchain_path="/opt/swiftwasm" | |
./build-exec mkdir -p "$toolchain_path" | |
curl -L ${{ matrix.development-toolchain-download }} | ./build-exec tar xz --strip-component 1 -C "$toolchain_path" | |
echo "toolchain-path=$toolchain_path" >> $GITHUB_OUTPUT | |
./build-exec "$toolchain_path/usr/bin/swift" sdk install "${{ matrix.wasi-swift-sdk-download }}" | |
wasi_sdk_path=$(./build-exec "$toolchain_path/usr/bin/swift" sdk configure --show-configuration "${{ matrix.wasi-swift-sdk-id }}" wasm32-unknown-wasi | grep sdkRootPath: | cut -d: -f2) | |
echo "wasi-swift-sdk-path=$(dirname $wasi_sdk_path)" >> $GITHUB_OUTPUT | |
- name: Configure Tests/default.json | |
run: | | |
cat <<EOS > Tests/default.json | |
{ | |
"swiftExecutablePath": "${{ steps.setup-development.outputs.toolchain-path }}/usr/bin/swift", | |
"wasiSwiftSDKPath": "${{ steps.setup-development.outputs.wasi-swift-sdk-path }}", | |
"hostSwiftExecutablePath": "/usr/bin/swift" | |
} | |
EOS | |
- run: ./build-exec ./CI/install-wabt.sh | |
- run: ./Vendor/checkout-dependency | |
- run: ./build-exec swift test | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: compnerd/gha-setup-swift@main | |
with: | |
branch: swift-5.10.1-release | |
tag: 5.10.1-RELEASE | |
- uses: actions/checkout@v4 | |
- run: python3 ./Vendor/checkout-dependency | |
# FIXME: CMake build is failing on CI due to "link: extra operand '/OUT:lib\\libXXXX.a'" error | |
# # Check Windows build with CMake | |
# - uses: Cyberboss/install-winget@v1 | |
# - run: winget install Ninja-build.Ninja Kitware.CMake --disable-interactivity --accept-source-agreements | |
# - run: | | |
# echo "$env:LOCALAPPDATA\Microsoft\WinGet\Links" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
# echo "$env:ProgramFiles\CMake\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
# - run: cmake -G Ninja -B .build/cmake | |
# - run: cmake --build .build/cmake | |
# Run tests with SwiftPM | |
- run: swift test | |
build-cmake: | |
runs-on: ubuntu-20.04 | |
container: | |
image: swift:5.8-focal | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Ninja | |
run: apt-get update && apt-get install -y ninja-build | |
- name: Install CMake | |
run: | | |
apt-get install -y curl | |
curl -L https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-linux-x86_64.tar.gz | tar xz --strip-component 1 -C /usr/local/ | |
- run: cmake -G Ninja -B ./build | |
- run: cmake --build ./build | |
- run: ./build/bin/wasmkit-cli --version |