blob: 06c25eac7fc9197f82550df19f53156e4e05ad8c [file] [log] [blame]
language: rust
sudo: false
# Since most OS-specific code has moved to the getrandom crate, we require
# few target-specific tests here.
matrix:
include:
- rust: 1.32.0
name: "Linux, 1.32.0"
env: ALLOC=0
os: linux
- rust: stable
name: "Linux, stable"
- rust: stable
name: "OSX+iOS, stable"
os: osx
install:
- rustup target add aarch64-apple-ios
script:
- bash utils/ci/script.sh
- cargo build --target=aarch64-apple-ios
- rust: beta
name: "Linux, beta"
- rust: nightly
os: linux
name: "Linux, nightly, docs"
env: NIGHTLY=1
install:
- cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
- cargo deadlinks -V
before_script:
- pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
script:
- bash utils/ci/script.sh
# remove cached documentation, otherwise files from previous PRs can get included
- rm -rf target/doc
- cargo doc --no-deps --all --all-features
- cargo deadlinks --dir target/doc
deploy:
local_dir: target/doc
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
on:
branch: master
# This target catches endianness issues
- rust: stable
sudo: required
dist: trusty
services: docker
name: "Linux (MIPS, big-endian)"
env: TARGET=mips-unknown-linux-gnu
install:
- sh utils/ci/install.sh
- source ~/.cargo/env || true
# This target checks we really can build no_std binaries
- rust: nightly
name: "no_std platform test"
install:
- rustup target add thumbv6m-none-eabi
script:
# Test the top-level crate with all features:
- cargo build --target=thumbv6m-none-eabi --no-default-features
- rust: nightly
name: "Linux, nightly (32-bit test)"
env: TARGET=i686-unknown-linux-musl
install:
- rustup target add $TARGET
- rust: nightly
os: linux
name: "Miri, nightly"
script:
- sh utils/ci/miri.sh
- rust: nightly
os: linux
name: "Minimal dep versions"
script:
- cargo generate-lockfile -Z minimal-versions
- bash utils/ci/script.sh
before_install:
- set -e
- rustup self update
script:
- bash utils/ci/script.sh
after_script: set +e
# Cache: this seems to do more harm than good
#cache:
#cargo: true
#directories:
#- .local/share/cargo-web
#before_cache:
## Travis can't cache files that are not readable by "others"
#- chmod -R a+r $HOME/.cargo
env:
global:
secure: "BdDntVHSompN+Qxz5Rz45VI4ZqhD72r6aPl166FADlnkIwS6N6FLWdqs51O7G5CpoMXEDvyYrjmRMZe/GYLIG9cmqmn/wUrWPO+PauGiIuG/D2dmfuUNvSTRcIe7UQLXrfP3yyfZPgqsH6pSnNEVopquQKy3KjzqepgriOJtbyY="
notifications:
email:
on_success: never