@@ -63,6 +63,7 @@ matrix:
- env: TARGET=powerpc64le-unknown-linux-gnu
os: linux
dist: trusty
+ services: docker
sudo: required
addons:
apt:
@@ -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
@@ -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
@@ -32,9 +32,19 @@ inspect() {
- 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