feat: Add features for dev and prod wasmer configurations #793
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: run tests | |
on: | |
push: | |
branches: | |
- develop | |
pull_request: {} | |
concurrency: | |
group: test-${{ github.workflow }}-${{ github.ref || github.run_id }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
test-and-bench: | |
strategy: | |
fail-fast: false | |
matrix: | |
script: ["test", "bench"] | |
os: ["ubuntu-latest", "macos-latest"] | |
wasmer-feature: ["wasmer_sys_dev", "wasmer_sys_prod", "wasmer_wamr"] | |
exclude: | |
# TODO bench suite on macos-latest is killed by system due to running out of swap space | |
# All benches run fine individually | |
- script: bench | |
os: macos-latest | |
wasmer-feature: wasmer_wamr | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: increase swap space | |
if: matrix.os == 'ubuntu-latest' | |
uses: actionhippie/swap-space@v1 | |
with: | |
size: 15G | |
- uses: actions/checkout@v4 | |
- name: Install nix | |
uses: cachix/install-nix-action@v30 | |
- name: Setup cachix | |
uses: cachix/cachix-action@v15 | |
if: ${{ ! contains(matrix.platform.runs-on, 'self-hosted') }} | |
with: | |
name: holochain-ci | |
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" | |
- run: nix develop --command ./scripts/${{ matrix.script }}-${{ matrix.wasmer-feature }}.sh | |
test-windows: | |
strategy: | |
fail-fast: false | |
matrix: | |
wasmer-feature: | |
- "wasmer_sys_dev" | |
- "wasmer_sys_prod" | |
# TODO Building with wasmer_wamr feature flag on windows is not currently working. | |
# See https://github.com/holochain/holochain-wasmer/issues/117 | |
# - "wasmer_wamr" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: wasm32-unknown-unknown | |
- name: Install LLVM | |
env: | |
LLVM_DIR: .llvm | |
shell: bash | |
run: | | |
LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }} | |
mkdir -p ${LLVM_DIR} | |
curl --proto '=https' --tlsv1.2 -sSf "https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-windows-amd64.tar.xz" -L -o - | tar xJv -C ${LLVM_DIR} | |
- name: test root | |
shell: pwsh | |
run: | | |
$env:LLVM_SYS_150_PREFIX="$(pwd)/.llvm" | |
cargo test --release --no-default-features --features error_as_host,${{ matrix.wasmer-feature }} -- --nocapture | |
- name: test | |
shell: pwsh | |
run: | | |
$env:LLVM_SYS_150_PREFIX="$(pwd)/.llvm" | |
cargo test --release --manifest-path test/Cargo.toml --no-default-features --features ${{ matrix.wasmer-feature }} -- --nocapture |