Browse Source

Add CI

pull/4/head
Diego Barrios Romero 4 years ago
parent
commit
5e613bec35
  1. 56
      .travis.yml
  2. 13
      ci/install.sh
  3. 24
      ci/script.sh

56
.travis.yml

@ -0,0 +1,56 @@
language: rust
matrix:
include:
- env: TARGET=x86_64-unknown-linux-gnu
- env: TARGET=x86_64-unknown-linux-gnu
rust: nightly
- env: TARGET=x86_64-unknown-linux-musl
rust: nightly
# Raspberry Pi 1
- env: TARGET=arm-unknown-linux-gnueabi DISABLE_EXAMPLES=1 DISABLE_TESTS=1
rust: nightly
# Raspberry Pi 2, 3, etc
- env: TARGET=armv7-unknown-linux-gnueabihf DISABLE_EXAMPLES=1 DISABLE_TESTS=1
rust: nightly
# Bare metal
- env: TARGET=thumbv6m-none-eabi
rust: beta
- env: TARGET=thumbv7em-none-eabi
rust: beta
- env: TARGET=thumbv7em-none-eabihf
rust: beta
- env: TARGET=thumbv7m-none-eabi
rust: beta
before_install:
- set -e
- rustup self update
install:
- bash ci/install.sh
script:
- bash ci/script.sh
after_script: set +e
cache: cargo
before_cache:
# Travis can't cache files that are not readable by "others"
- chmod -R a+r $HOME/.cargo
branches:
only:
- master
- staging
- trying
notifications:
email:
on_success: never

13
ci/install.sh

@ -0,0 +1,13 @@
set -euxo pipefail
main() {
rustup component add rust-src
SYSROOT=$(rustc --print sysroot)
if [[ ! "$SYSROOT" =~ "$TARGET" ]]; then
rustup target add $TARGET
else
echo "Target $TARGET is already installed"
fi
}
main

24
ci/script.sh

@ -0,0 +1,24 @@
set -exo pipefail
main() {
if [[ ! $TARGET =~ .*linux.* ]]; then
sed -i "s/linux-embedded-hal/#linux-embedded-hal/g" Cargo.toml
sed -i "s/embedded-hal-mock/#embedded-hal-mock/g" Cargo.toml
fi
if [ ! -z $FEATURES ]; then
export FEATURES="--features $FEATURES"
fi
cargo check --target $TARGET $FEATURES
cargo build --target $TARGET --release $FEATURES
if [ -z $DISABLE_EXAMPLES ] && [[ $TARGET =~ .*linux.* ]]; then
cargo build --target $TARGET $FEATURES --examples
fi
if [ -z $DISABLE_TESTS ] && [ $TRAVIS_RUST_VERSION = nightly ] && [[ $TARGET =~ .*linux.* ]]; then
cargo test --target $TARGET $FEATURES
fi
}
main
Loading…
Cancel
Save