[libvirt] [PATCH v2 2/2] travis: convert ubuntu, centos & mingw builds to use new make rules
Andrea Bolognani
abologna at redhat.com
Fri Mar 15 14:04:04 UTC 2019
On Fri, 2019-03-15 at 13:44 +0000, Daniel P. Berrangé wrote:
> On Fri, Mar 15, 2019 at 02:27:55PM +0100, Andrea Bolognani wrote:
> > On Wed, 2019-03-06 at 09:34 +0000, Daniel P. Berrangé wrote:
> > > +++ b/.travis.yml
> > > @@ -11,26 +11,30 @@ matrix:
> > > - docker
> > > env:
> > > - IMAGE="ubuntu-18"
> > > - - DISTCHECK_CONFIGURE_FLAGS="--with-init-script=systemd"
> > > - - DOCKER_CMD="$LINUX_CMD"
> > > + - MAKE_ARGS="syntax-check distcheck DISTCHECK_CONFIGURE_FLAGS=--with-init-script-systemd"
> > > + script:
> > > + - make -f tests/Makefile.ci.inc cibuild-$IMAGE MAKE_ARGS="$MAKE_ARGS"
> >
> > Having a separate 'script' for each job in the matrix defeats the
> > purpose of setting values in the environment.
>
> This could be written just using the script: entry without any
> env vars, but the env vars have the useful property that they
> are displayed in the build result page. So you can see the
> difference in each matrix entry at a glance.
Agreed, that's why I didn't suggest touching the environment :)
> > I would drop MINGW_CMD, change the existing LINUX_CMD to
> >
> > env:
> > global:
> > - LINUX_CMD='
> > if test "$MINGW"; then
> > make -f tests/Makefile.ci.inc "cibuild-$IMAGE" MAKE_ARGS="$MAKE_ARGS" CONFIGURE="$MINGW-configure";
> > else
> > make -f tests/Makefile.ci.inc "cibuild-$IMAGE" MAKE_ARGS="$MAKE_ARGS";
> > fi
> > '
> >
> > and the existing default script to
> >
> > script:
> > - /bin/sh -xc "$LINUX_CMD"
>
> I really don't like having so many levels of indirection in the
> commands. It gets painful to understand, especially when you
> consider the shell quoting & escaping needs.
>
> I'd rather have duplication of the "script" entry that is easy
> to understand.
Then go for the second suggestion, which you snipped in your reply:
> > Alternatively, you can drop all _CMD variables, including MACOS_CMD,
> > and put the shell code right into the 'script' directives, but doing
> > so would mean losing the tracing feature which can be useful to track
> > down build issues...
Doing so would remove the indirection, even for macOS builds, while
still avoiding duplicated script directives.
--
Andrea Bolognani / Red Hat / Virtualization
More information about the libvir-list
mailing list