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 after_success: - travis-cargo --only nightly doc-upload # 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