# Based on the "trust" template v0.1.2 # https://github.com/japaric/trust/tree/v0.1.2 dist: trusty language: rust rust: - nightly sudo: required # TODO Rust builds on stable by default, this can be # overridden on a case by case basis down below. matrix: # TODO These are all the build jobs. Adjust as necessary. Comment out what you # don't need include: # Android #- env: TARGET=aarch64-linux-android DISABLE_TESTS=1 #- env: TARGET=arm-linux-androideabi DISABLE_TESTS=1 #- env: TARGET=armv7-linux-androideabi DISABLE_TESTS=1 #- env: TARGET=i686-linux-android DISABLE_TESTS=1 #- env: TARGET=x86_64-linux-android DISABLE_TESTS=1 # iOS #- env: TARGET=aarch64-apple-ios DISABLE_TESTS=1 # os: osx #- env: TARGET=armv7-apple-ios DISABLE_TESTS=1 # os: osx #- env: TARGET=armv7s-apple-ios DISABLE_TESTS=1 # os: osx #- env: TARGET=i386-apple-ios DISABLE_TESTS=1 # os: osx #- env: TARGET=x86_64-apple-ios DISABLE_TESTS=1 # os: osx # Linux #- env: TARGET=aarch64-unknown-linux-gnu # Raspberry Pi - env: TARGET=arm-unknown-linux-gnueabi DISABLE_EXAMPLES=1 # Raspberry Pi 3... - env: TARGET=armv7-unknown-linux-gnueabihf DISABLE_EXAMPLES=1 #- env: TARGET=i686-unknown-linux-gnu #- env: TARGET=i686-unknown-linux-musl #- env: TARGET=mips-unknown-linux-gnu #- env: TARGET=mips64-unknown-linux-gnuabi64 #- env: TARGET=mips64el-unknown-linux-gnuabi64 #- env: TARGET=mipsel-unknown-linux-gnu #- env: TARGET=powerpc-unknown-linux-gnu #- env: TARGET=powerpc64-unknown-linux-gnu #- env: TARGET=powerpc64le-unknown-linux-gnu #- env: TARGET=s390x-unknown-linux-gnu DISABLE_TESTS=1 - env: TARGET=x86_64-unknown-linux-gnu - env: TARGET=x86_64-unknown-linux-musl # OSX #- env: TARGET=i686-apple-darwin # os: osx #- env: TARGET=x86_64-apple-darwin # os: osx # *BSD #- env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1 #- env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1 #- env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1 # Windows #- env: TARGET=x86_64-pc-windows-gnu # Bare metal # These targets don't support std and as such are likely not suitable for # most crates. - env: TARGET=thumbv6m-none-eabi - env: TARGET=thumbv7em-none-eabi - env: TARGET=thumbv7em-none-eabihf - env: TARGET=thumbv7m-none-eabi # Testing other channels #- env: TARGET=x86_64-unknown-linux-gnu # rust: nightly #- env: TARGET=x86_64-apple-darwin # os: osx # rust: nightly #- env: TEST_DIR=examples/embedded_linux #- env: TEST_DIR=examples/f3_stm32f30x before_install: - set -e - rustup self update install: - cargo install cargo-travis || true - rustup override set nightly - rustup target add thumbv7m-none-eabi - rustup component add clippy-preview #TODO: remove -A clippy::new_ret_no_self when new version of clippy gets released! script: - cargo check - cargo clippy --all-targets --all-features -- -D warnings -A clippy::new_ret_no_self - cargo test --all-features --release - cargo doc --all-features --release - cd examples/embedded_linux_epd4in2 && cargo check && cd ../../ - cd examples/embedded_linux_epd1in54 && cargo check && cd ../../ # - cd examples/stm32f3discovery && cargo check --target thumbv7m-none-eabi && cd ../../ #- cd ../f3_stm32f30x && cargo build after_success: #- cargo doc-upload cache: cargo before_cache: # Travis can't cache files that are not readable by "others" - chmod -R a+r $HOME/.cargo branches: only: # release tags - /^v\d+\.\d+\.\d+.*$/ - master notifications: email: on_success: never