
On Tue, 2018-02-27 at 15:44 +0000, Daniel P. Berrangé wrote:
script: # Many unit tests still fail on macOS, and there are a bunch of issues with # syntax-check as well, so skip those steps on that platform for now - - make -j3 && if [ "$TRAVIS_OS_NAME" != "osx" ]; then make -j3 syntax-check && make -j3 check; fi + - make -j3 && if [ "$TRAVIS_OS_NAME" != "osx" ]; then make -j3 syntax-check && make -j3 check; fi && make -j3 install
The install step should be right after building, so that the part of the command that is executed on all operating systems and the one that only applies to a subset are still visually separated.
I put the 'install' bit last, because that is the least likely bit to fail, so preferrable to have 'syntax-check' / 'check' run first to fail earlier
It's also the part that takes the least time, so if syntax-check or check are going to fail, running install before them won't delay the result by any significant amount of time - not to mention that the overall completion time is easily dominated by waiting in the queue for a macOS builder.
I think it would be clearer if we just put a custom script: entry under OS-X in the matrix and got rid of the conditional check.
I disagree: separating the matrix definition and the script definition results in a much more readable configuration with zero duplicated information. In fact, we used to have everything jumbled together, but we moved away from that setup. -- Andrea Bolognani / Red Hat / Virtualization