unkey 0.6.0

An asynchronous Rust SDK for the Unkey API.
Documentation
name: CI

on:
  push:
    branches:
      - master
  pull_request:

jobs:
  lint-and-format:
    name: Lint and format
    runs-on: ubuntu-latest

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

      - name: Install rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable

      - name: Run format check
        run: cargo fmt -- --check

      - name: Run clippy check
        run: cargo clippy -- -W clippy::pedantic -D warnings

  docs-build:
    name: Docs build
    runs-on: ubuntu-latest

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

      - name: Install rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable

      - name: Run cargo doc
        run: cargo doc

#  check-coverage:
#    name: Check coverage
#    runs-on: ubuntu-latest
#
#    steps:
#      - name: Checkout code
#        uses: actions/checkout@v2
#
#      - name: Install rust nightly
#        uses: actions-rs/toolchain@v1
#        with:
#          toolchain: nightly
#          override: true
#          components: llvm-tools-preview
#
#      - name: Install grcov
#        run: cargo install grcov
#
#      - name: Run coverage report
#        run: ./scripts/coverage.sh

  msrv:
    name: Check MSRV
    runs-on: ubuntu-latest

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

      - name: Install rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable

      - name: Install cargo-msrv
        run: cargo install cargo-msrv

      - name: Run cargo-msrv
        run: cargo msrv verify

  test:
    name: Test

    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        rust_version: [1.71, stable, nightly]

    runs-on: ${{ matrix.os }}

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

      - name: Install rust version ${{ matrix.rust_version }}
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.rust_version }}

      - name: Run tests
        run: cargo test