name: Test
on:
workflow_call:
env:
CARGO_TERM_COLOR: always
jobs:
curl-backend:
name: Curl backend (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
shared-key: test-${{ matrix.os }}
- name: Run curl backend tests
run: cargo test --no-default-features --features curl-backend --workspace
hyper-backend:
name: Hyper backend (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
shared-key: test-${{ matrix.os }}
- name: Run hyper backend tests
run: cargo test --no-default-features --features hyper-backend --workspace
wasm-linux:
name: wasm-pack (Linux - ${{ matrix.browser }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
browser: [chrome, firefox]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
shared-key: test-wasm
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Add wasm target
run: rustup target add wasm32-unknown-unknown
- name: wasm-pack test
run: bash scripts/test-wasm.sh ${{ matrix.browser }}
wasm-macos:
name: wasm-pack (macOS Safari)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
shared-key: test-wasm
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Add wasm target
run: rustup target add wasm32-unknown-unknown
- name: Enable safaridriver
run: sudo safaridriver --enable
- name: wasm-pack test (Safari)
run: bash scripts/test-wasm.sh safari
apple-backend:
name: Apple backend (macOS)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
shared-key: test-macos
- name: Run apple backend suite
run: bash scripts/test-apple.sh