You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
151 lines
4.3 KiB
151 lines
4.3 KiB
# Based on the "trust" template v0.1.2 |
|
# https://github.com/japaric/trust/tree/v0.1.2 |
|
|
|
dist: trusty |
|
language: rust |
|
rust: |
|
- stable |
|
- beta |
|
- nightly |
|
sudo: required |
|
|
|
# TODO Rust builds on stable by default, this can be |
|
# overridden on a case by case basis down below. |
|
|
|
|
|
matrix: |
|
allow_failures: |
|
# - nightly |
|
# 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 |
|
|
|
addons: |
|
apt: |
|
packages: |
|
- libcurl4-openssl-dev |
|
- libelf-dev |
|
- libdw-dev |
|
- cmake |
|
- gcc |
|
- binutils-dev |
|
- libiberty-dev |
|
|
|
|
|
before_install: |
|
- set -e |
|
- rustup self update |
|
|
|
|
|
install: |
|
- cargo install cargo-update || echo "cargo-update already installed" |
|
- cargo install cargo-travis || echo "cargo-travis already installed" |
|
- cargo install-update -a # update outdated cached binaries |
|
- rustup override set nightly |
|
- rustup target add thumbv7m-none-eabi |
|
- rustup component add clippy-preview |
|
- rustup component add rustfmt-preview |
|
|
|
#TODO: remove -A clippy::new_ret_no_self when new version of clippy gets released! |
|
script: |
|
- cargo fmt --all -- --check |
|
- cargo clippy --all-targets --all-features -- -D warnings -A clippy::new_ret_no_self |
|
- cargo check |
|
- cargo test --all-features --release |
|
- cargo doc --all-features --release |
|
- cd examples/embedded_linux_epd4in2 && cargo fmt --all -- --check && cargo check && cd ../../ |
|
- cd examples/embedded_linux_epd1in54 && cargo fmt --all -- --check && cargo check && cd ../../ |
|
- cd examples/embedded_linux_epd2in9 && cargo fmt --all -- --check && cargo check && cd ../../ |
|
# - cd examples/stm32f3discovery && cargo check --target thumbv7m-none-eabi && cd ../../ |
|
#- cd ../f3_stm32f30x && cargo build |
|
|
|
after_success: |
|
# measure code coverage and upload to coveralls.io |
|
- cargo coveralls |
|
#- 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
|
|
|