upversion 0.1.0

provides you to notify your clients when new version released
Documentation
name: Tests

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  check:
    name: Check
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Run cargo check
        uses: actions-rs/cargo@v1
        with:
          command: check
  
  coverage:
    name: Coverage
    strategy:
      matrix:
        os: [ubuntu-latest]
        rust: [stable]
    runs-on: ${{ matrix.os }}
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.rust }}
          override: true
          components: llvm-tools-preview

      - uses: Swatinem/rust-cache@v1

      - name: Download grcov
        run: |
          mkdir -p "${HOME}/.local/bin"
          curl -sL https://github.com/mozilla/grcov/releases/download/v0.8.10/grcov-x86_64-unknown-linux-gnu.tar.bz2 | tar jxf - -C "${HOME}/.local/bin"
          echo "$HOME/.local/bin" >> $GITHUB_PATH
      - name: Run xtask coverage
        uses: actions-rs/cargo@v1
        with:
          command: xtask
          args: coverage
          

      - name: Upload to codecov.io
        uses: codecov/codecov-action@v3
        with:
          files: coverage/*.lcov

  test:
    name: Test Suite
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-latest, macos-latest, windows-latest ]
        rust: [stable]
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: nightly-2022-05-18
          profile: minimal
          override: true

      - uses: Swatinem/rust-cache@v1

      - name: Run cargo test
        uses: actions-rs/cargo@v1
        with:
          command: test

  lints:
    name: Lints
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: nightly-2022-05-18
          profile: minimal
          override: true
          components: rustfmt, clippy

      - name: Run cargo fmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

      - name: Run cargo clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: -- -D warnings

  docs:
    name: Docs
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
      
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly-2022-05-18
        profile: minimal
        override: true
    - uses: Swatinem/rust-cache@v1
    - name: Check documentation
      env:
        RUSTDOCFLAGS: -D warnings
      run: cargo doc --workspace --all-features --no-deps --document-private-items