summaryrefslogtreecommitdiffstats
path: root/library/backtrace/ci/run-docker.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xlibrary/backtrace/ci/run-docker.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/library/backtrace/ci/run-docker.sh b/library/backtrace/ci/run-docker.sh
new file mode 100755
index 000000000..8aa6d84a4
--- /dev/null
+++ b/library/backtrace/ci/run-docker.sh
@@ -0,0 +1,33 @@
+# Small script to run tests for a target (or all targets) inside all the
+# respective docker images.
+
+set -ex
+
+run() {
+ docker build -t backtrace -f ci/docker/$1/Dockerfile ci
+ mkdir -p target
+ docker run \
+ --user `id -u`:`id -g` \
+ --rm \
+ --init \
+ --volume $(dirname $(dirname `which cargo`)):/cargo \
+ --env CARGO_HOME=/cargo \
+ --volume `rustc --print sysroot`:/rust:ro \
+ --env TARGET=$1 \
+ --volume `pwd`:/checkout:ro \
+ --volume `pwd`/target:/checkout/target \
+ --workdir /checkout \
+ --privileged \
+ --env RUSTFLAGS \
+ backtrace \
+ bash \
+ -c 'PATH=$PATH:/rust/bin exec ci/run.sh'
+}
+
+if [ -z "$1" ]; then
+ for d in `ls ci/docker/`; do
+ run $d
+ done
+else
+ run $1
+fi