diff --git a/.travis.yml b/.travis.yml index db21eac997b8e40ed3392472a70e3dd900ea7386..1d82df66711fb6f46009654ecd5cf935d93b35a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,4 @@ -dist: trusty language: rust -services: docker -sudo: required matrix: include: @@ -9,12 +6,17 @@ matrix: rust: nightly - env: TARGET=thumbv7em-none-eabihf rust: nightly + addons: + apt: + sources: + - debian-sid + packages: + - binutils-arm-none-eabi before_install: set -e install: - - sh ci/install.sh - - source ~/.cargo/env || true + - bash ci/install.sh script: - bash ci/script.sh diff --git a/ci/install.sh b/ci/install.sh index 3b8d3a2edd3386556696278d8afc47a8f2c50b2f..1894bffe864dea064a1e1ed9ad088841073df5bb 100644 --- a/ci/install.sh +++ b/ci/install.sh @@ -1,18 +1,15 @@ -set -ex +set -euxo pipefail main() { - local tag=$(git ls-remote --tags --refs --exit-code https://github.com/japaric/cross \ - | cut -d/ -f3 \ - | grep -E '^v0.1.[0-9]+$' \ - | sort --version-sort \ - | tail -n1) + if [ $TARGET = thumbv7m-none-eabi ]; then + local vers=0.3.7 - curl -LSfs https://japaric.github.io/trust/install.sh | \ - sh -s -- \ - --force \ - --git japaric/cross \ - --tag $tag \ - --target x86_64-unknown-linux-musl + cargo install --list | grep "xargo v$vers" || \ + ( cd .. && cargo install xargo -f --vers $vers ) + + rustup component list | grep 'rust-src.*installed' || \ + rustup component add rust-src + fi } main diff --git a/ci/script.sh b/ci/script.sh index 8532e55e34ccdf94e324c678bb897b33804ceea3..e6186b77fa7dc28747413907bec161b3919b22fd 100644 --- a/ci/script.sh +++ b/ci/script.sh @@ -1,8 +1,13 @@ set -ex main() { - cross build --target $TARGET - cross build --target $TARGET --release + if [ $TARGET = x86_64-unknown-linux-gnu ]; then + cargo build --target $TARGET + return + fi + + xargo build --target $TARGET + xargo test --target $TARGET --examples } main