mirror of
https://github.com/git-for-windows/git.git
synced 2026-03-19 02:22:21 -05:00
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>
This commit is contained in:
committed by
Johannes Schindelin
parent
7f299353b8
commit
a9831b2f9a
@@ -32,7 +32,7 @@ matrix:
|
||||
services:
|
||||
- docker
|
||||
before_install:
|
||||
script: ci/run-linux32-docker.sh
|
||||
script: ci/run-docker.sh
|
||||
- env: jobname=StaticAnalysis
|
||||
os: linux
|
||||
compiler:
|
||||
|
||||
@@ -489,14 +489,14 @@ jobs:
|
||||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
|
||||
|
||||
res=0
|
||||
sudo AGENT_OS="$AGENT_OS" BUILD_BUILDNUMBER="$BUILD_BUILDNUMBER" BUILD_REPOSITORY_URI="$BUILD_REPOSITORY_URI" BUILD_SOURCEBRANCH="$BUILD_SOURCEBRANCH" BUILD_SOURCEVERSION="$BUILD_SOURCEVERSION" SYSTEM_PHASENAME="$SYSTEM_PHASENAME" SYSTEM_TASKDEFINITIONSURI="$SYSTEM_TASKDEFINITIONSURI" SYSTEM_TEAMPROJECT="$SYSTEM_TEAMPROJECT" CC=$CC MAKEFLAGS="$MAKEFLAGS" bash -lxc ci/run-linux32-docker.sh || res=1
|
||||
sudo AGENT_OS="$AGENT_OS" BUILD_BUILDNUMBER="$BUILD_BUILDNUMBER" BUILD_REPOSITORY_URI="$BUILD_REPOSITORY_URI" BUILD_SOURCEBRANCH="$BUILD_SOURCEBRANCH" BUILD_SOURCEVERSION="$BUILD_SOURCEVERSION" SYSTEM_PHASENAME="$SYSTEM_PHASENAME" SYSTEM_TASKDEFINITIONSURI="$SYSTEM_TASKDEFINITIONSURI" SYSTEM_TEAMPROJECT="$SYSTEM_TEAMPROJECT" CC=$CC MAKEFLAGS="$MAKEFLAGS" jobname=Linux32 bash -lxc ci/run-docker.sh || res=1
|
||||
|
||||
sudo chmod a+r t/out/TEST-*.xml
|
||||
test ! -d t/failed-test-artifacts || sudo chmod a+r t/failed-test-artifacts
|
||||
|
||||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || res=1
|
||||
exit $res
|
||||
displayName: 'ci/run-linux32-docker.sh'
|
||||
displayName: 'jobname=Linux32 ci/run-docker.sh'
|
||||
env:
|
||||
GITFILESHAREPWD: $(gitfileshare.pwd)
|
||||
- task: PublishTestResults@2
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Build and test Git in a 32-bit environment
|
||||
# Build and test Git inside container
|
||||
#
|
||||
# Usage:
|
||||
# run-linux32-build.sh <host-user-id>
|
||||
# run-docker-build.sh <host-user-id>
|
||||
#
|
||||
|
||||
set -ex
|
||||
|
||||
if test $# -ne 1 || test -z "$1"
|
||||
then
|
||||
echo >&2 "usage: run-linux32-build.sh <host-user-id>"
|
||||
echo >&2 "usage: run-docker-build.sh <host-user-id>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -1,16 +1,26 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Download and run Docker image to build and test 32-bit Git
|
||||
# Download and run Docker image to build and test Git
|
||||
#
|
||||
|
||||
. ${0%/*}/lib.sh
|
||||
|
||||
docker pull daald/ubuntu32:xenial
|
||||
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:
|
||||
# $ docker run -itv "${PWD}:/usr/src/git" --entrypoint /bin/bash daald/ubuntu32:xenial
|
||||
# <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-linux32-build.sh <host-user-id>
|
||||
# root@container:/# /usr/src/git/ci/run-docker-build.sh <host-user-id>
|
||||
|
||||
container_cache_dir=/tmp/travis-cache
|
||||
|
||||
@@ -26,8 +36,8 @@ docker run \
|
||||
--env cache_dir="$container_cache_dir" \
|
||||
--volume "${PWD}:/usr/src/git" \
|
||||
--volume "$cache_dir:$container_cache_dir" \
|
||||
daald/ubuntu32:xenial \
|
||||
/usr/src/git/ci/run-linux32-build.sh $(id -u $USER)
|
||||
"$CI_CONTAINER" \
|
||||
/usr/src/git/ci/run-docker-build.sh $(id -u $USER)
|
||||
|
||||
check_unignored_build_artifacts
|
||||
|
||||
Reference in New Issue
Block a user