83 lines
2.0 KiB
YAML
83 lines
2.0 KiB
YAML
language: rust
|
|
|
|
cache:
|
|
directories:
|
|
- "$HOME/.cargo"
|
|
- "$HOME/.cache/sccache"
|
|
|
|
env:
|
|
global:
|
|
- CRATE_NAME=mdbook
|
|
|
|
matrix:
|
|
include:
|
|
- rust: stable
|
|
env: TARGET=x86_64-unknown-linux-gnu
|
|
- rust: beta
|
|
env: TARGET=x86_64-unknown-linux-gnu
|
|
- rust: nightly
|
|
env: TARGET=x86_64-unknown-linux-gnu
|
|
- rust: 1.34.0 # Minimum required Rust version
|
|
env: TARGET=x86_64-unknown-linux-gnu
|
|
|
|
- rust: stable
|
|
os: osx
|
|
env: TARGET=x86_64-apple-darwin
|
|
|
|
before_install:
|
|
- |
|
|
export RUSTC_WRAPPER=sccache;
|
|
cd "$(mktemp -d)";
|
|
case "$TRAVIS_OS_NAME" in
|
|
linux )
|
|
travis_retry curl -sSL 'https://github.com/mozilla/sccache/releases/download/0.2.9/sccache-0.2.9-x86_64-unknown-linux-musl.tar.gz' | tar -xzf - --strip-components=1 &&
|
|
sudo cp sccache /usr/local/bin/sccache;
|
|
;;
|
|
osx )
|
|
travis_retry curl -sSL 'https://github.com/mozilla/sccache/releases/download/0.2.9/sccache-0.2.9-x86_64-apple-darwin.tar.gz' | tar -xzf - --strip-components=1 &&
|
|
sudo cp sccache /usr/local/bin/sccache;
|
|
;;
|
|
* ) unset RUSTC_WRAPPER;;
|
|
esac;
|
|
cd "$TRAVIS_BUILD_DIR";
|
|
|
|
script:
|
|
- cargo test --all
|
|
- cargo test --all --no-default-features
|
|
- |
|
|
if [ "$TARGET" = x86_64-unknown-linux-gnu ] && [ "$TRAVIS_RUST_VERSION" = stable ]; then
|
|
rustup component add rustfmt && \
|
|
cargo fmt --all -- --check;
|
|
fi
|
|
|
|
before_deploy:
|
|
- cargo run -- build book-example
|
|
- sh ci/before_deploy.sh
|
|
|
|
deploy:
|
|
- provider: releases
|
|
api_key: "$GITHUB_TOKEN"
|
|
file_glob: true
|
|
file: "$CRATE_NAME-$TRAVIS_TAG-$TARGET.*"
|
|
on:
|
|
condition: "$TRAVIS_RUST_VERSION = stable"
|
|
tags: true
|
|
skip_cleanup: true
|
|
- provider: pages
|
|
local_dir: book-example/book
|
|
skip_cleanup: true
|
|
github_token: "$GITHUB_TOKEN"
|
|
keep_history: false
|
|
on:
|
|
condition: $TRAVIS_OS_NAME = "linux" && $TRAVIS_RUST_VERSION = "stable"
|
|
tags: true
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- /^v\d+\.\d+\.\d+.*$/
|
|
|
|
notifications:
|
|
email:
|
|
on_success: never
|