Add macOS and clang builds to the travis config.
authorStephen <stephengroat@users.noreply.github.com>
Mon, 30 Oct 2017 21:53:25 +0000 (14:53 -0700)
committerRalph Giles <giles@mozilla.com>
Wed, 1 Nov 2017 16:37:22 +0000 (09:37 -0700)
Improve coverage by building more variants in integration
testing.

There's no equivalent of the apt addon for macOS builds, so
we put dependencies in Brewfile and call `brew bundle` to
install them. This works better than calling `brew install`
directly since the later will error if a package is already
installed, and even if the error is ignored it won't update
to the latest version available, resulting in binaried built
against e.g. vulnerable versions of openssl.

To avoid conflicts with Apple's deprecated openssl package,
homebrew doesn't install its openssl package in the default
search path, so we need to manually append the its location
to PKG_CONFIG_PATH. We cannot build against Apple's package
because while it provides libraries and an openssl.pc file,
no headers are available.

Signed-off-by: Ralph Giles <giles@thaumas.net>
.travis.yml
Brewfile [new file with mode: 0644]

index d446e56..e65ba45 100644 (file)
@@ -1,11 +1,23 @@
 language: c
 
+compiler:
+  - gcc
+  - clang
+
+os:
+  - linux
+  - osx
+
 addons:
   apt:
     packages:
       - libogg-dev
       - libopus-dev
 
+env: PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opt/openssl/lib/pkgconfig
+
+install: if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew bundle; fi
+
 script:
   - ./autogen.sh
   - ./configure
diff --git a/Brewfile b/Brewfile
new file mode 100644 (file)
index 0000000..c5f3a82
--- /dev/null
+++ b/Brewfile
@@ -0,0 +1,7 @@
+brew 'opus'
+brew 'libogg'
+brew 'openssl'
+brew 'autoconf'
+brew 'automake'
+brew 'libtool'
+brew 'pkg-config'