rants 0.6.0

An async NATS client library.
Documentation
on:
  push:
    branches:
      - master
  pull_request:

name: Rust

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

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

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

  test:
    name: Test Suite
    runs-on: ubuntu-latest
    steps:
      - name: Checkout source
        uses: actions/checkout@v2

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

      - name: Download NATS server
        uses: wei/wget@v1
        with:
          args: https://github.com/nats-io/nats-server/releases/download/v2.1.2/nats-server-v2.1.2-linux-amd64.zip

      - name: Extract NATS server
        uses: montudor/action-zip@v0.1.0
        with:
          args: unzip nats-server-v2.1.2-linux-amd64.zip

      - name: Run cargo test
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: -- --nocapture
        env:
          NATS_PATH: ./nats-server-v2.1.2-linux-amd64/nats-server

      - name: Run cargo test with `native-tls` feature
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --features native-tls -- --nocapture
        env:
          NATS_PATH: ./nats-server-v2.1.2-linux-amd64/nats-server

      - name: Run cargo test with `rustls-tls` feature
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --features rustls-tls -- --nocapture
        env:
          NATS_PATH: ./nats-server-v2.1.2-linux-amd64/nats-server

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

      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          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