jason 0.2.0

JSON-RPC 2.0 client library
Documentation
name: CI

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["main"]

env:
  RUSTFLAGS: -Dwarnings
  RUST_BACKTRACE: 1

jobs:
  test:
    name: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust
        run: rustup update stable
      - name: Install cargo-hack
        run: cargo install cargo-hack
      - name: Test all features
        run: cargo test --all-features
      - name: Test each feature
        run: cargo hack test --each-feature

  fmt:
    name: format
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust
        run: rustup update stable
      - name: Install rustfmt
        run: rustup component add rustfmt
      - name: Run rustfmt
        run: rustfmt --check src/**/*.rs

  clippy:
    name: clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust
        run: rustup update stable
      - name: Install Clippy
        run: rustup component add clippy
      - name: Run Clippy
        run: cargo clippy --all --tests

  coverage:
    name: coverage
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust
        run: rustup update stable
      - name: Install cargo-tarpaulin
        run: cargo install cargo-tarpaulin
      - name: Run cargo-tarpaulin
        run: cargo tarpaulin --all-features --verbose --workspace --out Xml
      - name: Upload to codecov.io
        uses: codecov/codecov-action@v1
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          fail_ci_if_error: false