summaryrefslogtreecommitdiff
path: root/.github/workflows/test.yaml
blob: 9061eb831ab48b6ecb5a2badfaa14517c8f70e4d (plain)
name: Rust CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test-std:
    name: Test with default features on stable Rust
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
        with:
          submodules: true

      - name: Install stable Rust toolchain & Binaryen
        run: |
          rustup update stable
          rustup update nightly
          rustup target add wasm32-unknown-unknown
          sudo apt-get install -y binaryen wabt

      - name: Build wasm
        run: ./examples/rust/build.sh

      - name: Build (stable)
        run: cargo +stable build --workspace

      - name: Run tests (stable)
        run: cargo +stable test --workspace

      - name: Run MVP testsuite
        run: cargo +stable test-mvp

  test-no-std:
    name: Test without default features on nightly Rust
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
        with:
          submodules: true

      - name: Install nightly Rust toolchain & Binaryen
        run: |
          rustup update nightly
          rustup target add wasm32-unknown-unknown
          sudo apt-get install -y binaryen wabt

      - name: Build wasm
        run: ./examples/rust/build.sh

      - name: Build (nightly, no default features)
        run: cargo +nightly build --workspace --no-default-features

      - name: Run tests (nightly, no default features)
        run: cargo +nightly test --workspace --no-default-features

      - name: Run MVP testsuite (nightly)
        run: cargo +nightly test-mvp