about summary refs log tree commit diff
path: root/third_party/git/ci/run-docker.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/ci/run-docker.sh')
-rwxr-xr-xthird_party/git/ci/run-docker.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/third_party/git/ci/run-docker.sh b/third_party/git/ci/run-docker.sh
new file mode 100755
index 000000000000..37fa372052dd
--- /dev/null
+++ b/third_party/git/ci/run-docker.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# Download and run Docker image to build and test Git
+#
+
+. ${0%/*}/lib.sh
+
+case "$jobname" in
+Linux32)
+	CI_CONTAINER="daald/ubuntu32:xenial"
+	;;
+linux-musl)
+	CI_CONTAINER=alpine
+	;;
+*)
+	exit 1
+	;;
+esac
+
+docker pull "$CI_CONTAINER"
+
+# Use the following command to debug the docker build locally:
+# <host-user-id> must be 0 if podman is used as drop-in replacement for docker
+# $ docker run -itv "${PWD}:/usr/src/git" --entrypoint /bin/sh "$CI_CONTAINER"
+# root@container:/# export jobname=<jobname>
+# root@container:/# /usr/src/git/ci/run-docker-build.sh <host-user-id>
+
+container_cache_dir=/tmp/travis-cache
+
+docker run \
+	--interactive \
+	--env DEVELOPER \
+	--env DEFAULT_TEST_TARGET \
+	--env GIT_PROVE_OPTS \
+	--env GIT_TEST_OPTS \
+	--env GIT_TEST_CLONE_2GB \
+	--env MAKEFLAGS \
+	--env jobname \
+	--env cache_dir="$container_cache_dir" \
+	--volume "${PWD}:/usr/src/git" \
+	--volume "$cache_dir:$container_cache_dir" \
+	"$CI_CONTAINER" \
+	/usr/src/git/ci/run-docker-build.sh $(id -u $USER)
+
+check_unignored_build_artifacts
+
+save_good_tree