Run WASM for multiple toolchains

WASM is supported by Rust 1.30. We can therefore run the WASM tests on
any all the toolchains except MSRV (1.29.0). This has benefit of
catching nightly/beta issues before they get to stable.

Done as a separate CI job since it is conceptually different to the
`Tests` job.

Run WASM for nightly, beta, and stable toolchains.
This commit is contained in:
Tobin Harding 2022-03-19 10:40:19 +11:00
parent 946ac3b51e
commit 58db1b6753
1 changed files with 25 additions and 15 deletions

View File

@ -36,20 +36,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
include: rust: [stable, beta, nightly, 1.29.0]
- rust: stable
env:
DO_FEATURE_MATRIX: true
DO_WASM: true
- rust: beta
env:
DO_FEATURE_MATRIX: true
- rust: nightly
env:
DO_FEATURE_MATRIX: true
- rust: 1.29.0
env:
DO_FEATURE_MATRIX: true
steps: steps:
- name: Checkout Crate - name: Checkout Crate
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -63,6 +50,29 @@ jobs:
if: matrix.rust == '1.29.0' if: matrix.rust == '1.29.0'
run: cargo generate-lockfile --verbose && cargo update -p cc --precise "1.0.41" --verbose run: cargo generate-lockfile --verbose && cargo update -p cc --precise "1.0.41" --verbose
- name: Running cargo - name: Running cargo
env: ${{ matrix.env }} env:
DO_FEATURE_MATRIX: true
run: ./contrib/test.sh run: ./contrib/test.sh
WASM:
name: WASM
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable, beta, nightly] # No 1.29 because WASM requires Rust 1.30
steps:
- name: Checkout Crate
uses: actions/checkout@v2
- name: Install clang
run: sudo apt-get install -y clang-9
- name: Checkout Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
components: rust-src
- name: Running WASM tests
env:
DO_WASM: true
run: ./contrib/test.sh