On 2020-04-02 00:18:35+0200, SZEDER Gábor <szeder.dev@xxxxxxxxx> wrote: > 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. At this point, I tempted to change this to su -m -l $CI_USER -c /usr/src/git/ci/run-build-and-tests.sh instead. But, after digging into ci/lib.sh, I found too many setup for "$CI_*", let choose your path instead. > > + 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 > > -- Danh