tario 0.1.2

Asynchronously read and write TAR archives
Documentation
name: ci

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

env:
  RUST_BACKTRACE: 1

jobs:
  test:
    needs: basics
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
          - windows-latest
          - ubuntu-latest
          - macos-latest
    steps:
      - uses: actions/checkout@v5
      - name: Build
        run: cargo build --verbose
      - name: Run tests
        run: cargo test --verbose --all-features

  # Not yet
  # wasm:
  #   needs: basics
  #   runs-on: ubuntu-latest
  #   steps:
  #     - uses: actions/checkout@v5
  #     - name: Install Rust
  #       uses: dtolnay/rust-toolchain@stable
  #     - name: Install wasm-pack
  #       uses: taiki-e/install-action@wasm-pack
  #     - uses: Swatinem/rust-cache@v2
  #     - name: Run tests
  #       run: wasm-pack test --node -- --all-features

  basics:
    needs:
      - clippy
      - fmt
      - docs
    runs-on: ubuntu-latest
    steps:
      - run: exit 0

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - uses: Swatinem/rust-cache@v2
      - name: "Run clippy"
        run: cargo clippy --all --tests --all-features --no-deps

  fmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - uses: Swatinem/rust-cache@v2
      - name: "Run fmt"
        run: "rustfmt --check"

  docs:
    name: docs
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - name: "Generate docs"
        run: cargo doc --lib --no-deps --all-features