thread_io 0.3.1

Crate for performing I/O in background thread
Documentation
name: ci
on:
  pull_request:
  push:
    branches:
    - master

# Make sure CI fails on all warnings, including clippy lints
env:
  RUSTFLAGS: "-Dwarnings"
    
jobs:
  test:
    name: test
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        build: [pinned, stable, beta, nightly, macos, win-msvc, win-gnu]
        include:
        - build: pinned
          os: ubuntu-22.04
          rust: 1.38.0
        - build: stable
          os: ubuntu-22.04
          rust: stable
        - build: beta
          os: ubuntu-22.04
          rust: beta
        - build: nightly
          os: ubuntu-22.04
          rust: nightly
        - build: macos
          os: macos-12
          rust: stable
        - build: win-msvc
          os: windows-2022
          rust: stable
        - build: win-gnu
          os: windows-2022
          rust: stable-x86_64-gnu
    steps:
    - name: Checkout repository
      uses: actions/checkout@v3
    - name: Install Rust
      uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{ matrix.rust }}
    - run: cargo build --verbose
    - run: cargo doc --verbose
    - run: cargo test --verbose
    - if: matrix.build == 'nightly'
      run: cargo bench --verbose --no-run

  clippy:
    name: clippy
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          components: clippy
      - name: Clippy check
        run: cargo clippy --all-targets
    
  rustfmt:
    name: rustfmt
    runs-on: ubuntu-22.04
    steps:
    - name: Checkout repository
      uses: actions/checkout@v3
    - name: Install Rust
      uses: dtolnay/rust-toolchain@master
      with:
        toolchain: stable
        components: rustfmt
    - name: Check formatting
      run: cargo fmt --check