sudo: false
language: rust
cache:
directories:
- /home/travis/.cargo
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