travis-ci: Build on the xcode11 macOS image.
authorRalph Giles <giles@thaumas.net>
Wed, 8 Apr 2020 20:46:29 +0000 (13:46 -0700)
committerRalph Giles <giles@thaumas.net>
Wed, 8 Apr 2020 23:03:15 +0000 (16:03 -0700)
commite2887fcab6df4c781d379e27f5c40bd048c74dc2
tree4ea1f0240c3cf0938224227957a32ecbe4946994
parentef3a5daec5020b78ecf936afa79a21e2292d73a2
travis-ci: Build on the xcode11 macOS image.

Fix the macOS builds on the travis-ci.org continuous integration
system by requiring a more recently-created system image where
homebrew packages install correctly.

Also switch to declarative syntax for the homebrew package
dependencies, using the built-in Brewfile support instead
of invoking `brew` explicitly.

Travis doesn't update the homebrew three on their default macOS
images, so over time available packages become out-of-date, or
any explicit update step takes longer and longer, slowing the
testing feedback loop.

In this particular instance jobs were failing because homebrew
on the default macOS image wasn't working at all. Without an
update, package installation failed because the `brew bundle`
subcommand had itself bitrotted, while running `brew update`
would time out, taking more than the allowed job time.

Requiring a more recent (non-default) macOS image gets out
tests working again. In the future this will probably need
to be bumped again or restored to the default image.

For more context, see https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296/14
.travis.yml