Merge pull request #18 from japaric/ppc64le
CI: test powerpc64le-unknown-linux-gnu
This commit is contained in:
commit
7e04b20c48
@ -60,6 +60,10 @@ matrix:
|
|||||||
- libc6-powerpc-cross
|
- libc6-powerpc-cross
|
||||||
- libc6-dev-powerpc-cross
|
- libc6-dev-powerpc-cross
|
||||||
- qemu-user-static
|
- qemu-user-static
|
||||||
|
- env: TARGET=powerpc64le-unknown-linux-gnu
|
||||||
|
os: linux
|
||||||
|
services: docker
|
||||||
|
sudo: required
|
||||||
- env: TARGET=x86_64-apple-darwin
|
- env: TARGET=x86_64-apple-darwin
|
||||||
os: osx
|
os: osx
|
||||||
- env: TARGET=x86_64-unknown-linux-gnu
|
- env: TARGET=x86_64-unknown-linux-gnu
|
||||||
@ -68,6 +72,9 @@ matrix:
|
|||||||
# FIXME(#2)
|
# FIXME(#2)
|
||||||
- env: TARGET=armv7-unknown-linux-gnueabihf
|
- env: TARGET=armv7-unknown-linux-gnueabihf
|
||||||
os: linux
|
os: linux
|
||||||
|
# FIXME QEMU blows up
|
||||||
|
- env: TARGET=powerpc64le-unknown-linux-gnu
|
||||||
|
os: linux
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- export PATH="$PATH:$HOME/.cargo/bin"
|
- export PATH="$PATH:$HOME/.cargo/bin"
|
||||||
|
@ -28,4 +28,13 @@ case $TARGET in
|
|||||||
export PREFIX=powerpc-linux-gnu-
|
export PREFIX=powerpc-linux-gnu-
|
||||||
export QEMU_LD_PREFIX=/usr/powerpc-linux-gnu
|
export QEMU_LD_PREFIX=/usr/powerpc-linux-gnu
|
||||||
;;
|
;;
|
||||||
|
powerpc64le-unknown-linux-gnu)
|
||||||
|
# NOTE $DOCKER values: 'y' (yes, call docker), 'i' (inside a docker container) or 'n' ("no)
|
||||||
|
if [[ -z $DOCKER ]]; then
|
||||||
|
export DOCKER=y
|
||||||
|
fi
|
||||||
|
export PREFIX=powerpc64le-linux-gnu-
|
||||||
|
export QEMU=qemu-ppc64le
|
||||||
|
export QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -2,6 +2,23 @@ set -ex
|
|||||||
|
|
||||||
. $(dirname $0)/env.sh
|
. $(dirname $0)/env.sh
|
||||||
|
|
||||||
|
install_deps() {
|
||||||
|
if [[ ${DOCKER} == "i" ]]; then
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates curl
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
install_qemu() {
|
||||||
|
case $TARGET in
|
||||||
|
powerpc64le-unknown-linux-gnu)
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
qemu-user
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
install_binutils() {
|
install_binutils() {
|
||||||
case $TRAVIS_OS_NAME in
|
case $TRAVIS_OS_NAME in
|
||||||
osx)
|
osx)
|
||||||
@ -16,7 +33,11 @@ install_c_toolchain() {
|
|||||||
case $TARGET in
|
case $TARGET in
|
||||||
aarch64-unknown-linux-gnu)
|
aarch64-unknown-linux-gnu)
|
||||||
sudo apt-get install -y --no-install-recommends \
|
sudo apt-get install -y --no-install-recommends \
|
||||||
gcc-aarch64-linux-gnu libc6-arm64-cross libc6-dev-arm64-cross
|
gcc-aarch64-linux-gnu libc6-dev-arm64-cross
|
||||||
|
;;
|
||||||
|
powerpc64le-unknown-linux-gnu)
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
;;
|
;;
|
||||||
@ -49,11 +70,15 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
if [[ ${DOCKER:-n} != "y" ]]; then
|
||||||
|
install_deps
|
||||||
|
install_qemu
|
||||||
install_binutils
|
install_binutils
|
||||||
install_c_toolchain
|
install_c_toolchain
|
||||||
install_rust
|
install_rust
|
||||||
add_rustup_target
|
add_rustup_target
|
||||||
configure_cargo
|
configure_cargo
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
main
|
main
|
||||||
|
21
ci/script.sh
21
ci/script.sh
@ -12,8 +12,15 @@ run_tests() {
|
|||||||
export RUST_TEST_THREADS=1
|
export RUST_TEST_THREADS=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ $QEMU ]]; then
|
||||||
|
cargo test --target $TARGET --no-run
|
||||||
|
$QEMU target/**/debug/rustc_builtins-*
|
||||||
|
cargo test --target $TARGET --release --no-run
|
||||||
|
$QEMU target/**/release/rustc_builtins-*
|
||||||
|
else
|
||||||
cargo test --target $TARGET
|
cargo test --target $TARGET
|
||||||
cargo test --target $TARGET --release
|
cargo test --target $TARGET --release
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
inspect() {
|
inspect() {
|
||||||
@ -25,9 +32,23 @@ inspect() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
if [[ $DOCKER == "y" ]]; then
|
||||||
|
docker run \
|
||||||
|
-e DOCKER=i \
|
||||||
|
-e TARGET=$TARGET \
|
||||||
|
-e TRAVIS_OS_NAME=$TRAVIS_OS_NAME \
|
||||||
|
-v $(pwd):/mnt \
|
||||||
|
ubuntu:16.04 \
|
||||||
|
sh -c 'set -ex;
|
||||||
|
cd /mnt;
|
||||||
|
export PATH="$PATH:$HOME/.cargo/bin";
|
||||||
|
bash ci/install.sh;
|
||||||
|
bash ci/script.sh'
|
||||||
|
else
|
||||||
build
|
build
|
||||||
run_tests
|
run_tests
|
||||||
inspect
|
inspect
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
main
|
main
|
||||||
|
Loading…
Reference in New Issue
Block a user