blocking-permit 1.3.3

Permits and a thread pool for blocking operations
Documentation
name: CI
on:
  pull_request:
  push:
  schedule:
    - cron: '53 15 * * 1,4'

env:
  RUSTFLAGS: -Dwarnings

jobs:

  test:
    name: ${{ matrix.rust }} ${{ matrix.os }} ${{ join(matrix.extras) }}
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        include:
          - rust: 1.45.2
            os: ubuntu-20.04
          - rust: 1.45.2
            os: ubuntu-20.04
            extras: [update]
          - rust: 1.45.2
            os: windows-latest
          - rust: 1.45.2
            os: windows-latest
            extras: [update]
          - rust: stable
            os: ubuntu-20.04
            extras: [update]
          - rust: nightly
            os: ubuntu-20.04
          - rust: nightly
            os: ubuntu-20.04
            extras: [update]

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Install rust (${{ matrix.rust }})
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust }}
          override: true

      - name: Update deps
        if: ${{ contains(matrix.extras, 'update') }}
        run: cargo update

      - name: Test
        run: cargo test

      - name: Test current-thread
        run: cargo test --features current-thread
      - name: Test tokio-oneshot
        run: cargo test --no-default-features --features tokio-oneshot
      - name: Test tokio-threaded,tokio-oneshot
        run: cargo test --no-default-features --features tokio-threaded,tokio-oneshot
      - name: Test tokio-semaphore,tokio-oneshot
        run: cargo test --no-default-features --features tokio-semaphore,tokio-oneshot
      - name: Test tokio-omnibus
        run: cargo test --no-default-features --features tokio-omnibus
      - name: Test cleaver
        run: cargo test --features cleaver
      - name: Test yield-stream
        run: cargo test --features yield-stream
      - name: Test futures-intrusive
        run: cargo test --features futures-intrusive
      - name: Test tokio-threaded,futures-intrusive
        run: cargo test --features tokio-threaded,futures-intrusive
      - name: Test all features
        run: cargo test --all-features

      - name: Test all features/targets
        if: ${{ matrix.rust == 'nightly' }}
        run: cargo test --all-features --all-targets