diff options
author | Đoàn Trần Công Danh <congdanhqx@gmail.com> | 2020-04-04 04:08:48 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-04-06 23:44:42 +0300 |
commit | 5a33f541ddb52e3f45db87db7c3dd40945b9a564 (patch) | |
tree | a36a58582b0e0f6461944558b99b70e89d9963dc /ci/run-docker.sh | |
parent | 2bd1e2d273b69516a3c161671a39263589ccc9fc (diff) |
ci: refactor docker runner script
We will support alpine check in docker later in this series.
While we're at it, tell people to run as root in podman,
if podman is used as drop-in replacement for docker,
because podman will map host-user to container's root,
therefore, mapping their permission.
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ci/run-docker.sh')
-rwxr-xr-x | ci/run-docker.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ci/run-docker.sh b/ci/run-docker.sh new file mode 100755 index 0000000000..3881f99b53 --- /dev/null +++ b/ci/run-docker.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Download and run Docker image to build and test Git +# + +. ${0%/*}/lib.sh + +case "$jobname" in +Linux32) + CI_CONTAINER="daald/ubuntu32:xenial" + ;; +*) + 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 |