ybaas 0.0.19

Don't you love when you accidentally tap your Yubikey when you have your IRC client in focus and you send 987947 into Libera? Want to be able to have that experience without having to reach all the way over to your laptop's USB port? Don't want the complexity of installing and using the yubibomb CLI tool? Now you can use yubibomb as a service!
name: CI

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
  schedule:
    - cron: "0 0 * * *"

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - name: Check out branch
        uses: actions/checkout@v2
      - uses: actions-rs/audit-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
  build:
    name: build (rust-${{ matrix.rust_version }}, ${{ matrix.build_type.name }})
    runs-on: ubuntu-latest
    strategy:
      matrix:
        build_type:
          - name: debug
            flags: ""
          - name: release
            flags: "--release"
        rust_version: ["1.70", "stable"]
    steps:
      - name: Check out branch
        uses: actions/checkout@v2
      - name: Cache compilation assets
        uses: actions/cache@v2
        env:
          cache-name: build-${{ matrix.rust_version }}-${{ matrix.build_type.name }}
        with:
          path: |
            target
            /usr/share/rust/.cargo
          key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
          restore-keys: |
            ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust_version }}
          override: true
      - name: Run cargo build
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: ${{ matrix.build_type.flags }} --locked
  clippy:
    runs-on: ubuntu-latest
    steps:
      - name: Check out branch
        uses: actions/checkout@v2
      - name: Cache compilation assets
        uses: actions/cache@v2
        env:
          cache-name: clippy
        with:
          path: |
            target
            /usr/share/rust/.cargo
          key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
          restore-keys: |
            ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
      - name: Run cargo clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all-targets --all-features -- -D warnings
  doc:
    runs-on: ubuntu-latest
    steps:
      - name: Check out branch
        uses: actions/checkout@v2
      - name: Cache compilation assets
        uses: actions/cache@v2
        env:
          cache-name: doc
        with:
          path: |
            target
            /usr/share/rust/.cargo
          key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
          restore-keys: |
            ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
      - name: Run cargo doc
        uses: actions-rs/cargo@v1
        with:
          command: doc
          args: --document-private-items --no-deps
  fmt:
    runs-on: ubuntu-latest
    steps:
      - name: Check out branch
        uses: actions/checkout@v2
      - name: Run cargo fmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: -- --check -l -v
  test:
    name: test (rust-${{ matrix.rust_version }}, ${{ matrix.build_type.name }})
    runs-on: ubuntu-latest
    strategy:
      matrix:
        build_type:
          - name: debug
            flags: ""
          - name: release
            flags: "--release"
        rust_version: ["1.70", "stable"]
    steps:
      - name: Check out branch
        uses: actions/checkout@v2
      - name: Cache compilation assets
        uses: actions/cache@v2
        env:
          cache-name: test-${{ matrix.rust_version }}-${{ matrix.build_type.name }}
        with:
          path: |
            target
            /usr/share/rust/.cargo
          key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
          restore-keys: |
            ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('Cargo.lock') }}
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust_version }}
          override: true
      - name: Run cargo test
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: ${{ matrix.build_type.flags }} --locked