zenwave 0.5.2

Ergonomic HTTP client framework.
Documentation
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