|
|
|
language: rust
|
|
|
|
|
|
|
|
env:
|
|
|
|
- RUSTFLAGS="-D warnings"
|
|
|
|
|
|
|
|
# Cache the whole `~/.cargo` directory to keep `~/cargo/.crates.toml`.
|
|
|
|
cache:
|
|
|
|
directories:
|
|
|
|
- /home/travis/.cargo
|
|
|
|
|
|
|
|
# Don't cache the cargo registry because it's too big.
|
|
|
|
before_cache:
|
|
|
|
- rm -rf /home/travis/.cargo/registry
|
|
|
|
|
|
|
|
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
- staging
|
|
|
|
- trying
|
|
|
|
|
|
|
|
matrix:
|
|
|
|
fast_finish: true
|
|
|
|
include:
|
|
|
|
- rust: nightly
|
|
|
|
os: linux
|
|
|
|
|
|
|
|
- rust: nightly
|
|
|
|
os: osx
|
|
|
|
osx_image: xcode9.2
|
|
|
|
|
|
|
|
- rust: nightly-x86_64-pc-windows-msvc
|
|
|
|
os: windows
|
|
|
|
|
|
|
|
- name: fmt
|
|
|
|
rust: nightly
|
|
|
|
os: linux
|
|
|
|
before_script: |
|
|
|
|
if ! rustup component add rustfmt; then
|
|
|
|
target=`curl https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/rustfmt`;
|
|
|
|
echo "'rustfmt' is unavailable on the toolchain 'nightly', use the toolchain 'nightly-$target' instead";
|
|
|
|
rustup toolchain install nightly-$target;
|
|
|
|
rustup default nightly-$target;
|
|
|
|
rustup component add rustfmt;
|
|
|
|
fi
|
|
|
|
script:
|
|
|
|
- cargo fmt --all -- --check
|
|
|
|
|
|
|
|
- name: docs
|
|
|
|
rust: nightly
|
|
|
|
os: linux
|
|
|
|
script:
|
|
|
|
- cargo doc --features docs
|
|
|
|
|
|
|
|
- name: book
|
|
|
|
rust: nightly
|
|
|
|
os: linux
|
|
|
|
before_script:
|
|
|
|
- test -x $HOME/.cargo/bin/mdbook || ./ci/install-mdbook.sh
|
|
|
|
- cargo build # to find 'extern crate async_std' by `mdbook test`
|
|
|
|
script:
|
|
|
|
- mdbook build docs
|
|
|
|
- mdbook test -L ./target/debug/deps docs
|
|
|
|
|
|
|
|
script:
|
|
|
|
- cargo check --features unstable --all --benches --bins --examples --tests
|
|
|
|
- cargo test --features unstable --all
|