redis 0.20.2

Redis driver for Rust.
Documentation
sudo: false
language: rust

# Prevents cargo's cache from growing to large, see https://levans.fr/rust_travis_cache.html
# Need to cache the whole `.cargo` directory to keep .crates.toml for
# cargo-update to work
cache:
  directories:
    - /home/travis/.cargo

# But don't cache the cargo registry
before_cache:
  - rm -rf /home/travis/.cargo/registry

before_install: |
  sudo apt-get update
  sudo apt-get install stunnel -y

install: |
  wget https://github.com/redis/redis/archive/6.0.6.tar.gz;
  tar -xzvf 6.0.6.tar.gz;
  pushd redis-6.0.6 && BUILD_TLS=yes make && export PATH=$PWD/src:$PATH && popd;

matrix:
  include:
    - rust: stable
      env: RUST_VERSION=stable COMMAND=test

    - rust: beta
      env: RUST_VERSION=beta COMMAND=test

    - rust: nightly
      env: RUST_VERSION=nightly COMMAND=test

    - rust: stable
      env: COMMAND=lint
  allow_failures:
      - env: COMMAND=lint

script:
  - make $COMMAND
  - cargo check --benches --all-features
  - cargo check --no-default-features --features tokio-comp
  - cargo check --no-default-features --features async-std-comp
  - |
    ([ "$RUST_VERSION" = "nightly" ] || [ "$RUST_VERSION" = "beta" ]) && exit 0 # Don't cargo-fmt on nightly or beta
    make style-check
  - |
    # Remove dev-dependencies so they do not enable features accidentally
    # https://github.com/rust-lang/cargo/issues/4664
    sed -i '/dev-dependencies/,/dev-dependencies/d' Cargo.toml
    cargo check --all-features

notifications:
  email: false