49 lines
1.7 KiB
YAML
49 lines
1.7 KiB
YAML
dist: xenial
|
|
|
|
language:
|
|
- rust
|
|
- cpp
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
include:
|
|
- rust: nightly
|
|
- rust: stable
|
|
- rust: stable
|
|
env: TARGET=armv7-unknown-linux-gnueabihf
|
|
allow_failures:
|
|
- rust: nightly
|
|
|
|
install:
|
|
- if [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then rustup target add wasm32-unknown-unknown; fi
|
|
- if [ -n "$TARGET" ]; then rustup target add "$TARGET" && sudo apt-get install --yes qemu-user-static; fi
|
|
- if [ "$TARGET" == "armv7-unknown-linux-gnueabihf" ]; then sudo apt-get install --yes crossbuild-essential-armhf && export QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf; fi
|
|
- rustup component add rustfmt
|
|
- sudo apt-get install --yes cmake
|
|
|
|
script:
|
|
- cargo fmt --all -- --check
|
|
# Make sure nightly targets are not broken.
|
|
- if [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then cargo check --tests --manifest-path=fuzz/Cargo.toml; fi
|
|
- if [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then cargo check --benches --manifest-path=benches/Cargo.toml; fi
|
|
# Make sure `no_std` version checks.
|
|
- if [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then cargo +nightly check --no-default-features --features core; fi
|
|
# Check that `vec_memory` feature works.
|
|
- cargo check --features vec_memory
|
|
- travis_wait 60 ./test.sh
|
|
- ./doc.sh
|
|
|
|
after_success: |
|
|
# Build documentation and deploy it to github pages.
|
|
[ $TRAVIS_BRANCH = master ] &&
|
|
[ $TRAVIS_PULL_REQUEST = false ] &&
|
|
echo "<meta http-equiv=refresh content=0;url=`echo $TRAVIS_REPO_SLUG | cut -d '/' -f 2`/index.html>" > target/doc/index.html &&
|
|
sudo pip install ghp-import &&
|
|
ghp-import -n target/doc &&
|
|
git push -fq https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages
|
|
|
|
cache: cargo
|
|
before_cache:
|
|
# Travis can't cache files that are not readable by "others"
|
|
- chmod -R a+r $HOME/.cargo
|