async-redis-session 0.2.2

redis session store for async-session
name: CI

on:
  pull_request:
  push:
    branches:
      - master

env:
  RUSTFLAGS: -Dwarnings

jobs:
  build_and_test:
    name: Build and test
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust: [stable, nightly]

    services:
      redis:
        image: redis
        options: >-
          --health-cmd "redis-cli ping"
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          - 6379:6379

    steps:
    - uses: actions/checkout@master

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

    - name: check
      uses: actions-rs/cargo@v1
      with:
        command: check
        args: --all --bins --examples

    - name: check avoid-dev-deps
      uses: actions-rs/cargo@v1
      if: matrix.rust == 'nightly'
      with:
        command: check
        args: --all -Z avoid-dev-deps

    - name: tests
      uses: actions-rs/cargo@v1
      with:
        command: test
        args: --all -- --test-threads=1

  check_fmt_and_docs:
    name: Checking fmt, clippy, and docs
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master

    - uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true

    - name: setup
      run: |
        rustup component add clippy rustfmt
        rustc --version

    - name: clippy
      run: cargo clippy -- -D warnings

    - name: fmt
      run: cargo fmt --all -- --check

    - name: Docs
      run: cargo doc --no-deps