Skip to content

Update wasm-worker

Update wasm-worker #44

Workflow file for this run

name: Test
on:
push:
branches: ["main"]
pull_request:
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
build-test:
name: Build & Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
rust:
- { version: "1.60", msrv: true }
- { version: stable, msrv: false }
target:
- { target: x86_64-unknown-linux-gnu, native: true }
- { target: wasm32-unknown-unknown, native: false }
include:
- os: macos-latest
rust: { version: stable, msrv: false }
target: { target: wasm32-unknown-unknown, native: false }
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: taiki-e/install-action@v2
with:
tool: wasm-bindgen-cli
- name: Install additional Rust targets
run: |
rustup default ${{ matrix.rust.version }}
rustup target add ${{ matrix.target.target }}
- name: Build
run: cargo build --target ${{ matrix.target.target }}
- name: Documentation
if: matrix.os == 'ubuntu-latest'
run: cargo doc --no-deps --target ${{ matrix.target.target }}
- name: Test on Chrome
if: matrix.rust.msrv == false && matrix.os == 'ubuntu-latest'
env:
CHROMEDRIVER: chromedriver
run:
cargo test --all-targets --no-fail-fast --target ${{
matrix.target.target }}
- name: Test on Firefox
if: matrix.rust.msrv == false && matrix.os == 'ubuntu-latest'
env:
GECKODRIVER: geckodriver
run:
cargo test --all-targets --no-fail-fast --target ${{
matrix.target.target }}
- name: Test on Safari
if: matrix.rust.msrv == false && matrix.os == 'macos-latest'
env:
SAFARIDRIVER: safaridriver
run:
cargo test --all-targets --no-fail-fast --target ${{
matrix.target.target }}
- name: Documentation Test
if:
matrix.rust.msrv == false && matrix.target.native == true && matrix.os
== 'ubuntu-latest'
run: cargo test --doc --no-fail-fast
atomic-build-test:
name: Atomic Build & Test
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: atomic-test
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install additional Rust targets and components
run: |
rustup default nightly
rustup target add wasm32-unknown-unknown
rustup component add rust-src
- uses: taiki-e/install-action@v2
with:
tool: wasm-bindgen-cli
- name: Test on Chrome
if: matrix.os == 'ubuntu-latest'
env:
CHROMEDRIVER: chromedriver
run: cargo test --no-fail-fast
- name: Test on Firefox
if: matrix.os == 'ubuntu-latest'
env:
GECKODRIVER: geckodriver
run: cargo test --no-fail-fast
- name: Test on Safari
if: matrix.os == 'macos-latest'
env:
SAFARIDRIVER: safaridriver
run: cargo test --no-fail-fast
minimal-versions:
name: Minimal Versions
runs-on: ubuntu-latest
defaults:
run:
working-directory: minimal-versions
strategy:
fail-fast: false
matrix:
rust:
- "1.60"
- stable
target:
- x86_64-unknown-linux-gnu
- wasm32-unknown-unknown
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install additional Rust targets
run: |
rustup default ${{ matrix.rust }}
rustup target add ${{ matrix.target }}
- name: Install Rust nightly
run: rustup toolchain install nightly --profile minimal
- name: Build
run: |
cargo +nightly update -Z minimal-versions
cargo build --target ${{ matrix.target }}