mirror of https://github.com/eldruin/ds323x-rs
Add CI
parent
9532c1b462
commit
5e613bec35
|
@ -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
|
|
@ -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
|
|
@ -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…
Reference in New Issue