diff options
| author | bors <bors@rust-lang.org> | 2017-05-19 20:41:18 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-05-19 20:41:18 +0000 |
| commit | 5dfcd85fd4bae49445383baadf472fbdb414a0e6 (patch) | |
| tree | 6812e7e07285e77a85e3619139280ca3cd09b0a7 /src/ci/docker/scripts | |
| parent | 543691d0ebbbf9e3c996980d2b841794098e5e85 (diff) | |
| parent | 040cd6d15dcc8c1f66726293d52df93abd2e4b76 (diff) | |
| download | rust-5dfcd85fd4bae49445383baadf472fbdb414a0e6.tar.gz rust-5dfcd85fd4bae49445383baadf472fbdb414a0e6.zip | |
Auto merge of #42105 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 17 pull requests - Successful merges: #41870, #41910, #41958, #41971, #42006, #42024, #42037, #42056, #42067, #42070, #42079, #42080, #42082, #42089, #42092, #42096, #42100 - Failed merges:
Diffstat (limited to 'src/ci/docker/scripts')
| -rw-r--r-- | src/ci/docker/scripts/android-ndk.sh | 40 | ||||
| -rw-r--r-- | src/ci/docker/scripts/android-sdk.sh | 53 | ||||
| -rwxr-xr-x | src/ci/docker/scripts/android-start-emulator.sh | 25 | ||||
| -rw-r--r-- | src/ci/docker/scripts/dumb-init.sh | 15 | ||||
| -rw-r--r-- | src/ci/docker/scripts/sccache.sh | 16 |
5 files changed, 149 insertions, 0 deletions
diff --git a/src/ci/docker/scripts/android-ndk.sh b/src/ci/docker/scripts/android-ndk.sh new file mode 100644 index 00000000000..c3d83c087e5 --- /dev/null +++ b/src/ci/docker/scripts/android-ndk.sh @@ -0,0 +1,40 @@ +# Copyright 2017 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +set -ex + +URL=https://dl.google.com/android/repository + +download_ndk() { + mkdir -p /android/ndk + cd /android/ndk + curl -O $URL/$1 + unzip -q $1 + rm $1 + mv android-ndk-* ndk +} + +make_standalone_toolchain() { + # See https://developer.android.com/ndk/guides/standalone_toolchain.htm + python2.7 /android/ndk/ndk/build/tools/make_standalone_toolchain.py \ + --install-dir /android/ndk/$1-$2 \ + --arch $1 \ + --api $2 +} + +remove_ndk() { + rm -rf /android/ndk/ndk +} + +download_and_make_toolchain() { + download_ndk $1 && \ + make_standalone_toolchain $2 $3 && \ + remove_ndk +} diff --git a/src/ci/docker/scripts/android-sdk.sh b/src/ci/docker/scripts/android-sdk.sh new file mode 100644 index 00000000000..7d8110efede --- /dev/null +++ b/src/ci/docker/scripts/android-sdk.sh @@ -0,0 +1,53 @@ +# Copyright 2017 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +set -ex + +URL=https://dl.google.com/android/repository + +download_sdk() { + mkdir -p /android/sdk + cd /android/sdk + curl -O $URL/$1 + unzip -q $1 + rm -rf $1 +} + +download_sysimage() { + # See https://developer.android.com/studio/tools/help/android.html + abi=$1 + api=$2 + + filter="platform-tools,android-$api" + filter="$filter,sys-img-$abi-android-$api" + + # Keep printing yes to accept the licenses + while true; do echo yes; sleep 10; done | \ + /android/sdk/tools/android update sdk -a --no-ui \ + --filter "$filter" +} + +create_avd() { + # See https://developer.android.com/studio/tools/help/android.html + abi=$1 + api=$2 + + echo no | \ + /android/sdk/tools/android create avd \ + --name $abi-$api \ + --target android-$api \ + --abi $abi +} + +download_and_create_avd() { + download_sdk $1 + download_sysimage $2 $3 + create_avd $2 $3 +} diff --git a/src/ci/docker/scripts/android-start-emulator.sh b/src/ci/docker/scripts/android-start-emulator.sh new file mode 100755 index 00000000000..cd3369d5ead --- /dev/null +++ b/src/ci/docker/scripts/android-start-emulator.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# Copyright 2016 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +set -ex + +# Setting SHELL to a file instead on a symlink helps android +# emulator identify the system +export SHELL=/bin/bash + +# Using the default qemu2 engine makes time::tests::since_epoch fails because +# the emulator date is set to unix epoch (in armeabi-v7a-18 image). Using +# classic engine the emulator starts with the current date and the tests run +# fine. If another image is used, this need to be evaluated again. +nohup nohup emulator @armeabi-v7a-18 \ + -engine classic -no-window -partition-size 2047 0<&- &>/dev/null & + +exec "$@" diff --git a/src/ci/docker/scripts/dumb-init.sh b/src/ci/docker/scripts/dumb-init.sh new file mode 100644 index 00000000000..839c3907992 --- /dev/null +++ b/src/ci/docker/scripts/dumb-init.sh @@ -0,0 +1,15 @@ +# Copyright 2017 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +set -ex + +curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb +dpkg -i dumb-init_*.deb +rm dumb-init_*.deb diff --git a/src/ci/docker/scripts/sccache.sh b/src/ci/docker/scripts/sccache.sh new file mode 100644 index 00000000000..7a2befaf671 --- /dev/null +++ b/src/ci/docker/scripts/sccache.sh @@ -0,0 +1,16 @@ +# Copyright 2017 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +set -ex + +curl -o /usr/local/bin/sccache \ + https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-unknown-linux-musl + +chmod +x /usr/local/bin/sccache |
