From dbfa199ef3c103e2e6d1e2ffa848cf7b042d8b52 Mon Sep 17 00:00:00 2001
From: Jorge Aparicio <jorge@japaric.io>
Date: Tue, 1 Aug 2017 23:29:56 -0500
Subject: [PATCH] update CI stuff

---
 .travis.yml   | 12 +++++++-----
 ci/install.sh | 21 +++++++++------------
 ci/script.sh  |  9 +++++++--
 3 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index db21eac..1d82df6 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 3b8d3a2..1894bff 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 8532e55..e6186b7 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
-- 
GitLab