On Sun, Mar 29, 2020 at 05:12:31PM +0700, Đoàn Trần Công Danh wrote: > Signed-off-by: Đoàn Trần Công Danh <congdanhqx@xxxxxxxxx> > diff --git a/ci/run-alpine-build.sh b/ci/run-alpine-build.sh > new file mode 100755 > index 0000000000..c83df536e4 > --- /dev/null > +++ b/ci/run-alpine-build.sh > @@ -0,0 +1,31 @@ > +#!/bin/sh > +# > +# Build and test Git in Alpine Linux > +# > +# Usage: > +# run-alpine-build.sh <host-user-id> > +# > + > +set -ex > + > +useradd () { > + adduser -D "$@" > +} > + > +. "${0%/*}/lib-docker.sh" > + > +# Update packages to the latest available versions > +apk add --update autoconf build-base curl-dev openssl-dev expat-dev \ > + gettext pcre2-dev python3 musl-libintl >/dev/null In 'ci/run-docker.sh' we run 'docker run' with a bunch of '--env ...' options to make some important environment variables available inside the container. At this point in this script all those variables are set to the expected values, but ... > +# Build and test > +su -m -l $CI_USER -c ' ... but here, for some reason, those environment variables are not set anymore. This is bad, because this CI job then builds Git sequentially, runs the tests sequentially, runs the tests with 'make' instead of 'prove', and runs the tests without '-V -x'. IOW, it's slow, it produces a lot of useless output, it doesn't report all the failures, and doesn't tell us anything about the failures. > + set -ex > + cd /usr/src/git > + test -n "$cache_dir" && ln -s "$cache_dir/.prove" t/.prove > + autoconf > + echo "PYTHON_PATH=/usr/bin/python3" >config.mak > + ./configure --with-libpcre The recommended way to build Git is without autoconf and configure. You can set the PYTHON_PATH and USE_LIBPCRE Makefile knobs in MAKEFLAGS in 'ci/lib.sh', but to be able to access MAKEFLAGS in the container you'll need to build this patch series on top of: https://public-inbox.org/git/20200401212151.15164-1-szeder.dev@xxxxxxxxx/ > + make > + make test > +' > diff --git a/ci/run-docker.sh b/ci/run-docker.sh > index be698817cb..f203db03cf 100755 > --- a/ci/run-docker.sh > +++ b/ci/run-docker.sh > @@ -10,6 +10,10 @@ Linux32) > CI_TARGET=linux32 > CI_CONTAINER="daald/ubuntu32:xenial" > ;; > +linux-musl) > + CI_TARGET=alpine > + CI_CONTAINER=alpine > + ;; > *) > exit 1 ;; > esac > -- > 2.26.0.302.g234993491e >