rocket-governor 0.2.0-rc.4

Implementation of Governor rate limiter for Rocket
Documentation
name: Rust

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

env:
  CARGO_TERM_COLOR: always
  RUST_MSRV_TOOLCHAIN: 1.69.0

jobs:
  source-check:
    runs-on: ubuntu-latest

    permissions:
      checks: write
      contents: read

    steps:
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: stable
        components: clippy, rustfmt
    - uses: actions/checkout@v4
    - uses: loliGothicK/clippy-check@v0.3.2
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
    - uses: loliGothicK/clippy-check@v0.3.2
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        options: --all-features
    - run: cargo fmt --check

  cargo-doc-stable:
    runs-on: ubuntu-latest
    needs: source-check

    steps:
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: stable
    - uses: actions/checkout@v4
    - run: cargo doc --verbose --all-features --no-deps

  cargo-doc-msrv:
    runs-on: ubuntu-latest
    needs: source-check

    steps:
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{ env.RUST_MSRV_TOOLCHAIN }}
    - uses: actions/checkout@v4
    - run: cargo doc --verbose --all-features --no-deps

  build-stable:
    runs-on: ubuntu-latest
    needs: source-check

    steps:
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: stable
    - uses: actions/checkout@v4
    - run: cargo --version
    - run: cargo build --verbose --release --all-features

  test-stable:
    runs-on: ubuntu-latest
    needs: build-stable

    steps:
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: stable
        default: true
    - uses: actions/checkout@v4
    - run: cargo test --verbose

  test-stable-all-features:
    runs-on: ubuntu-latest
    needs: test-stable

    steps:
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: stable
        default: true
    - uses: actions/checkout@v4
    - run: cargo test --verbose --all-features

  build-msrv:
    runs-on: ubuntu-latest
    needs: build-stable

    steps:
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{ env.RUST_MSRV_TOOLCHAIN }}
        default: true
    - uses: actions/checkout@v4
    - run: cargo --version
    - run: cargo build --verbose --release --all-features

  test-msrv-all-features:
    runs-on: ubuntu-latest
    needs: build-msrv

    steps:
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{ env.RUST_MSRV_TOOLCHAIN }}
        default: true
    - uses: actions/checkout@v4
    - run: cargo test --verbose --all-features