Sixteen days ago I wrote that I intended to blog more often... I think I even remembered that through much of last week. Then I dove into the Firefox Puppeteer libraries, and the tests for those libraries, and now it’s already Friday, February 6th, in most of the world.
What I also did just yesterday that may be of somewhat broader interest is to set up Travis CI multi-OS continuous integration (Linux and Mac OS X) for firefox-ui-tests. This isn’t necessarily as challenging as some of the Travis documentation may lead you to believe. Firefox UI tests are written in Python. One of the configurations that Travis does not currently support on Mac OS X is Python.
The Travis Mac hosts do, however, have the usual OS X 10.9.5 Python 2.7 installation. If your Python test suite runs against Python 2.7, like the firefox-ui-tests do, you can probably use the Travis multi-os set up without much fuss. First, you must request multi-os from Travis support. Nothing will change until you update your .travis.yml, to something like this. You set your language to C, and you set compiler to either gcc or clang, so that you get only one compiler build set. You also set os to both "linux" and "osx." Then, since you probably want to do a few things differently on Linux versus OS , you write a bash script with an
if [ "$TRAVIS_OS_NAME" == "osx" ] block or two, and maybe another bash script for another part of the build process, and you’re done.
If instead you’re developing a Python library that you want to test against multiple Python versions on OS X, you’ll want to have a look here.