lockpool 3.0.1

This library offers a pool of locks where individual locks can be locked/unlocked by key
Documentation
name: CI

on:
  - push
  - pull_request

env:
  CARGO_TERM_COLOR: always

jobs:
  arm:
    name: arm
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        command: ["build", "test"]
        profile: ["", "--release"]
        features: ["", "--no-default-features", "--all-features"]
        toolchain: ["stable", "nightly", "1.65"]
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.toolchain }}
          target: armv5te-unknown-linux-gnueabi
          default: true
      - uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: ${{ matrix.command }}
          args: ${{ matrix.features }} ${{ matrix.profile }} --target armv5te-unknown-linux-gnueabi
  x64:
    name: x64
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        command: ["build", "test"]
        profile: ["", "--release"]
        features: ["", "--no-default-features", "--all-features"]
        toolchain: ["stable", "nightly", "1.65"]
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.toolchain }}
          default: true
      - uses: actions-rs/cargo@v1
        with:
          command: ${{ matrix.command }}
          args: ${{ matrix.features }} ${{ matrix.profile }}
  clippy_check:
    name: Linter (clippy)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: clippy
          default: true
      - uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --all-features --all-targets -- -D warnings
  code_format:
    name: Code Formatter (rustfmt)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: rustfmt
          default: true
      - uses: mbrobbel/rustfmt-check@0.3.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
  sync_readme:
    name: Sync README.md (cargo sync-readme)
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - run: cargo install cargo-readme
    - run: ./gen_readme.sh
    # Fail job if gen_readme.sh introduced changes. If this fails, then we need to run gen_readme.sh locally and add it to the commit.
    - run: git diff --exit-code
  coverage:
    name: Code Coverage
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: nightly
          default: true
      - uses: actions-rs/cargo@v1
        with:
          command: test
          args: --all-features --no-fail-fast
        env:
          # Setup taken from https://github.com/actions-rs/grcov/tree/d9881ad44979aa34f846a82abb764b2b8cfbd715
          CARGO_INCREMENTAL: '0'
          RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off'
          RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off'
      - id: coverage
        uses: actions-rs/grcov@v0.1
      - uses: codecov/codecov-action@v1
        with:
          #token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
          files: ${{ steps.coverage.outputs.report }}
          fail_ci_if_error: true
          verbose: true