Re: [PATCH v2 3/4] travis: build and test on Linux with musl libc and busybox
- From
Danh Doan <congdanhqx@gmail.com>
- Date
- Apr 2, 2020, 01:42 UTC
- Message-ID
- <20200402014202.GC2764@danh.dev>
- In-Reply-To
- <20200401221835.GH2224@szeder.dev>
On 2020-04-02 00:18:35+0200, SZEDER Gábor <szeder.dev@gmail.com> wrote:
Show 43 quoted lines
> 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@gmail.com>
>
> > 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.
Show 35 quoted lines
> > + 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@gmail.com/ > > > + 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