summaryrefslogtreecommitdiff
path: root/libc/ci/run-docker.sh
diff options
context:
space:
mode:
Diffstat (limited to 'libc/ci/run-docker.sh')
-rw-r--r--libc/ci/run-docker.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/libc/ci/run-docker.sh b/libc/ci/run-docker.sh
new file mode 100644
index 0000000..1ac419a
--- /dev/null
+++ b/libc/ci/run-docker.sh
@@ -0,0 +1,34 @@
+# Small script to run tests for a target (or all targets) inside all the
+# respective docker images.
+
+set -ex
+
+run() {
+ echo $1
+ # use -f so we can use ci/ as build context
+ docker build -t libc -f ci/docker/$1/Dockerfile ci/
+ mkdir -p target
+ docker run \
+ --user `id -u`:`id -g` \
+ --rm \
+ --volume $HOME/.cargo:/cargo \
+ --env CARGO_HOME=/cargo \
+ --volume `rustc --print sysroot`:/rust:ro \
+ --volume `pwd`:/checkout:ro \
+ --volume `pwd`/target:/checkout/target \
+ --env CARGO_TARGET_DIR=/checkout/target \
+ --workdir /checkout \
+ --privileged \
+ --interactive \
+ --tty \
+ libc \
+ ci/run.sh $1
+}
+
+if [ -z "$1" ]; then
+ for d in `ls ci/docker/`; do
+ run $d
+ done
+else
+ run $1
+fi