Browse Source

run in xenial (docker)

Jorge Aparicio 8 years ago
parent
commit
8f85ab545d
4 changed files with 32 additions and 8 deletions
  1. 1 0
      .travis.yml
  2. 1 0
      ci/env.sh
  3. 17 5
      ci/install.sh
  4. 13 3
      ci/script.sh

+ 1 - 0
.travis.yml

@@ -63,6 +63,7 @@ matrix:
     - env: TARGET=powerpc64le-unknown-linux-gnu
       os: linux
       dist: trusty
+      services: docker
       sudo: required
       addons:
         apt:

+ 1 - 0
ci/env.sh

@@ -29,6 +29,7 @@ case $TARGET in
         export QEMU_LD_PREFIX=/usr/powerpc-linux-gnu
         ;;
     powerpc64le-unknown-linux-gnu)
+        export DOCKER=y
         export PREFIX=powerpc64le-linux-gnu-
         export QEMU=qemu-ppc64le
         export QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu

+ 17 - 5
ci/install.sh

@@ -2,6 +2,15 @@ set -ex
 
 . $(dirname $0)/env.sh
 
+install_qemu() {
+    case $TARGET in
+        powerpc64-unknown-linux-gnu)
+            sudo apt-get install -y --no-install-recommends \
+                 qemu-user
+            ;;
+    esac
+}
+
 install_binutils() {
     case $TRAVIS_OS_NAME in
         osx)
@@ -49,11 +58,14 @@ EOF
 }
 
 main() {
-    install_binutils
-    install_c_toolchain
-    install_rust
-    add_rustup_target
-    configure_cargo
+    if [[ -z $DOCKER ]]; then
+        install_qemu
+        install_binutils
+        install_c_toolchain
+        install_rust
+        add_rustup_target
+        configure_cargo
+    fi
 }
 
 main

+ 13 - 3
ci/script.sh

@@ -32,9 +32,19 @@ inspect() {
 }
 
 main() {
-    build
-    run_tests
-    inspect
+    if [[ $DOCKER ]]; then
+        docker run \
+               -e TARGET=$TARGET \
+               -e TRAVIS_OS_NAME=$TRAVIS_OS_NAME \
+               -v $(pwd)/ci:/mnt \
+               ubuntu:16.04 \
+               sh -c "bash /mnt/install.sh; bash /mnt/script.sh"
+    else
+        build
+        run_tests
+        inspect
+    fi
+
 }
 
 main