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