[ci] Sort out Travis configuration
Use a matrix to avoid a gazillion if's.
This commit is contained in:
parent
5a6d2b986a
commit
3ce6c7bd96
|
@ -3,6 +3,8 @@
|
||||||
set -x
|
set -x
|
||||||
set -o errexit -o nounset
|
set -o errexit -o nounset
|
||||||
|
|
||||||
|
if test "x$TRAVIS_SECURE_ENV_VARS" != xtrue; then exit; fi
|
||||||
|
|
||||||
BRANCH="$TRAVIS_BRANCH"
|
BRANCH="$TRAVIS_BRANCH"
|
||||||
if test "x$BRANCH" != xmaster; then exit; fi
|
if test "x$BRANCH" != xmaster; then exit; fi
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -x
|
||||||
|
set -o errexit -o nounset
|
||||||
|
|
||||||
|
if test "x$TRAVIS_SLUG" != x"harfbuzz/harfbuzz"; then exit; fi
|
||||||
|
|
||||||
|
pip install --user nose
|
||||||
|
pip install --user cpp-coveralls
|
||||||
|
export PATH=$HOME/.local/bin:$PATH
|
||||||
|
|
||||||
|
rm -f src/.libs/NONE.gcov
|
||||||
|
touch src/NONE
|
||||||
|
coveralls -e docs
|
69
.travis.yml
69
.travis.yml
|
@ -1,39 +1,54 @@
|
||||||
# Build Configuration for Travis
|
# Build Configuration for Travis
|
||||||
sudo: required # For Trusty beta
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
dist: trusty
|
dist: trusty
|
||||||
|
|
||||||
language: cpp
|
language: cpp
|
||||||
compiler:
|
|
||||||
- clang
|
|
||||||
- gcc
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- CPPFLAGS=""
|
- CPPFLAGS=""
|
||||||
- CFLAGS="-Werror --coverage"
|
- CFLAGS="-Werror --coverage"
|
||||||
- CXXFLAGS="-Werror -Wno-deprecated-register --coverage" # glib uses register and clang raises a warning
|
- CXXFLAGS="-Werror -Wno-deprecated-register --coverage" # glib uses register and clang raises a warning
|
||||||
- LDFLAGS="--coverage"
|
- LDFLAGS="--coverage"
|
||||||
install:
|
- CONFIGURE_OPTS="--with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2"
|
||||||
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user nose; fi
|
- NOCONFIGURE=1
|
||||||
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user cpp-coveralls; fi # for coveralls.io code coverage tracking
|
|
||||||
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PATH=$HOME/.local/bin:$PATH; fi # Make sure we can find the above Python packages
|
matrix:
|
||||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export CXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations"; fi; # https://github.com/harfbuzz/harfbuzz/issues/345
|
include:
|
||||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi;
|
- os: linux
|
||||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew uninstall libtool && brew install libtool; fi # Workaround Travis/brew bug
|
compiler: gcc
|
||||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install ragel freetype glib gobject-introspection cairo icu4c graphite2; fi
|
script:
|
||||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew link --force icu4c; fi # icu4c is keg-only
|
- ./autogen.sh
|
||||||
script:
|
- ./configure $CONFIGURE_OPTS --enable-gtk-doc
|
||||||
- NOCONFIGURE=1 ./autogen.sh
|
- make
|
||||||
- export CONFIGURE_OPTS="--with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2"
|
- make check || (cat */test-suite.log test/*/test-suite.log && false)
|
||||||
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" ]; then export CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-gtk-doc"; fi
|
after_success:
|
||||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export CONFIGURE_OPTS="$CONFIGURE_OPTS --with-coretext"; fi
|
- bash .ci/run-coveralls.sh # for coveralls.io code coverage tracking
|
||||||
- ./configure $CONFIGURE_OPTS
|
- bash .ci/deploy-docs.sh
|
||||||
- make
|
|
||||||
- make check || (cat */test-suite.log test/*/test-suite.log && false)
|
- os: linux
|
||||||
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_SLUG" == "harfbuzz/harfbuzz" ]; then rm -f src/.libs/NONE.gcov; touch src/NONE; coveralls -e docs; fi
|
compiler: clang
|
||||||
after_success:
|
script:
|
||||||
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then bash .ci/deploy-docs.sh; fi
|
- ./autogen.sh
|
||||||
|
- ./configure $CONFIGURE_OPTS
|
||||||
|
- make
|
||||||
|
- make check || (cat */test-suite.log test/*/test-suite.log && false)
|
||||||
|
|
||||||
|
- os: osx
|
||||||
|
compiler: clang
|
||||||
|
install:
|
||||||
|
# https://github.com/harfbuzz/harfbuzz/issues/345
|
||||||
|
- export CXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations"
|
||||||
|
- brew update;
|
||||||
|
# Workaround Travis/brew bug
|
||||||
|
- brew uninstall libtool && brew install libtool
|
||||||
|
- brew install ragel freetype glib gobject-introspection cairo icu4c graphite2
|
||||||
|
- brew link --force icu4c # icu4c is keg-only
|
||||||
|
script:
|
||||||
|
- ./autogen.sh
|
||||||
|
- ./configure $CONFIGURE_OPTS --with-coretext
|
||||||
|
- make
|
||||||
|
- make check || (cat */test-suite.log test/*/test-suite.log && false)
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
irc: "irc.freenode.org#harfbuzz"
|
irc: "irc.freenode.org#harfbuzz"
|
||||||
email: harfbuzz@lists.freedesktop.org
|
email: harfbuzz@lists.freedesktop.org
|
||||||
|
|
Loading…
Reference in New Issue