travis-ci: Build on the xcode11 macOS image.

Merged Ralph Giles requested to merge travis-ci into master

Fix the macOS builds on the 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

Merge request reports