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