bbjwt 0.4.2

A simple to use, well documented JWT validation library, mainly for validating OpenID Connect ID Tokens.
Documentation
name: CI

# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events but only for the main branch
  push: {}
  pull_request: {}
  schedule:
    # Run daily to catch breakages in new Rust versions as well as new cargo audit findings.
    - cron: '0 16 * * *'

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  test:
    # The type of runner that the job will run on
    runs-on: ${{ matrix.rust_os.os }}

    strategy:
      fail-fast: false
      matrix:
        rust_os:
          - { rust: stable, os: ubuntu-22.04 }
          - { rust: beta, os: ubuntu-22.04 }
          - { rust: nightly, os: ubuntu-22.04 }

    env:
      CARGO_NET_GIT_FETCH_WITH_CLI: "true"

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v3

      - name: Print git branch name
        run: git rev-parse --abbrev-ref HEAD

      - run: git show-ref | grep $(git rev-parse HEAD)

      - name: Install Rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.rust_os.rust }}
          override: true
          components: clippy, rustfmt

      - name: Run tests
        run: cargo test --tests --examples
      - name: Doc tests
        run: cargo test --doc

      - name: Check fmt
        # Use nightly for format check
        if: ${{ matrix.rust_os.rust == 'nightly' }}
        run: cargo fmt --all -- --check

      - name: Clippy
        if: ${{ matrix.rust_os.rust == 'stable' }}
        run: cargo clippy --all --all-features -- --deny warnings

      - name: Audit
        if: ${{ matrix.rust_os.rust == 'stable' }}
        run: |
          cargo install --force cargo-audit
          cargo audit