|  | #!/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 |