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