Skip to content

feat: Add features for dev and prod wasmer configurations #795

feat: Add features for dev and prod wasmer configurations

feat: Add features for dev and prod wasmer configurations #795

Workflow file for this run

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