kramer 3.0.0

Enumerated types implementing std::fmt::Display for sending RESP messages to redis.
Documentation
name: gh.build
on: [push]
jobs:
  stable-sync:
    runs-on: ubuntu-latest
    services:
      redis:
        image: redis
        ports:
          - 6379:6379
        options: --entrypoint redis-server
    steps:
      - uses: actions/checkout@v3
      - name: install-stable
        run: rustup toolchain install stable
      - name: use-stable
        run: rustup default stable
      - name: add-clippy
        run: rustup component add clippy
      - name: build-sync
        run: cargo build
      - name: test-sync
        run: cargo test
        env:
          REDIS_HOST: localhost
          REDIS_PORT: ${{ job.services.redis.ports[6379] }}
      - name: test-sync-acl
        run: cargo test --features acl
        env:
          REDIS_HOST: localhost
          REDIS_PORT: ${{ job.services.redis.ports[6379] }}
      - name: "clippy: acl"
        run: cargo clippy --features acl
      - name: "clippy: async"
        run: cargo clippy --features kramer-async
  stable-async:
    runs-on: ubuntu-latest
    services:
      redis:
        image: redis
        ports:
          - 6379:6379
        options: --entrypoint redis-server
    steps:
      - uses: actions/checkout@v3
      - name: install-latest
        run: rustup toolchain install stable
      - name: use-stable
        run: rustup default stable
      - name: build-async
        run: cargo build --features kramer-async
      - name: test-async
        run: cargo test --features kramer-async,acl
        env:
          REDIS_HOST: localhost
          REDIS_PORT: ${{ job.services.redis.ports[6379] }}
  nightly-sync:
    runs-on: ubuntu-latest
    services:
      redis:
        image: redis
        ports:
          - 6379:6379
        options: --entrypoint redis-server
    steps:
      - uses: actions/checkout@v3
      - name: install-nightly
        run: rustup toolchain install nightly
      - name: use-nightly
        run: rustup default nightly
      - name: build
        run: cargo build
      - name: test-sync
        run: cargo test --quiet
        env:
          REDIS_HOST: localhost
          REDIS_PORT: ${{ job.services.redis.ports[6379] }}
      - name: bench-sync
        run: cargo bench --quiet
        env:
          REDIS_HOST: localhost
          REDIS_PORT: ${{ job.services.redis.ports[6379] }}
  nightly-async:
    runs-on: ubuntu-latest
    services:
      redis:
        image: redis
        ports:
          - 6379:6379
        options: --entrypoint redis-server
    steps:
      - uses: actions/checkout@v3
      - name: install-nightly
        run: rustup toolchain install nightly
      - name: use-nightly
        run: rustup default nightly
      - name: build
        run: cargo build --features kramer-async
      - name: test-async
        run: cargo test --features kramer-async --quiet
        env:
          REDIS_HOST: localhost
          REDIS_PORT: ${{ job.services.redis.ports[6379] }}
      - name: bench-async
        run: cargo bench --features kramer-async --quiet
        env:
          REDIS_HOST: localhost
          REDIS_PORT: ${{ job.services.redis.ports[6379] }}
  release:
    runs-on: ubuntu-latest
    needs: ["stable-sync", "stable-async"]
    steps:
      - uses: actions/checkout@v3
      - name: release
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          generate_release_notes: true