aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml52
1 files changed, 44 insertions, 8 deletions
diff --git a/.travis.yml b/.travis.yml
index a82246986d..02cd32ee35 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,24 +1,60 @@
language: c
+os:
+ - linux
env:
global:
- - PROJECT_ROOT="$(pwd)"
- - CI_SCRIPTS="$PROJECT_ROOT/.ci"
+ - CI_SCRIPTS=$TRAVIS_BUILD_DIR/.ci
+ # Travis reports back that it has 32-cores via /proc/cpuinfo, but it's not
+ # what we really have available. According to their documentation, it only has
+ # 1.5 virtual cores.
+ # See
+ # http://docs.travis-ci.com/user/speeding-up-the-build/#Paralellizing-your-build-on-one-VM
+ # for more information.
+ - MAKE_CMD="make -j2"
+ # Force verification of DLOG macros.
+ - CFLAGS='-DMIN_LOG_LEVEL=0'
matrix:
- CI_TARGET=clang-asan
- CI_TARGET=gcc
- CI_TARGET=gcc-32
- CI_TARGET=clint
+matrix:
+ include:
+ - os: osx
+ env: CI_TARGET=clang-asan
+ - os: osx
+ env: CI_TARGET=gcc
+ compiler: gcc-4.9
+ allow_failures:
+ - os: osx
before_install:
+ # Pins the version of the java package installed on the Travis VMs
+ # and avoids a lengthy upgrade process for them.
+ - if [ $TRAVIS_OS_NAME = linux ]; then
+ sudo apt-mark hold oracle-java7-installer oracle-java8-installer;
+ sudo apt-get update;
+ elif [ $TRAVIS_OS_NAME = osx ]; then
+ brew update;
+ fi
+install:
+ - if [ $TRAVIS_OS_NAME = linux ]; then
+ sudo apt-get install xclip gdb;
+ fi
+before_script:
# Adds user to a dummy group.
# That allows to test changing the group of the file by `os_fchown`.
- - sudo groupadd chown_test
- - sudo usermod -a -G chown_test ${USER}
# Need xvfb for running some tests with xclip
- - export DISPLAY=:99.0
- - sh -e /etc/init.d/xvfb start
- - sudo apt-get install xclip gdb
+ - if [ $TRAVIS_OS_NAME = linux ]; then
+ sudo groupadd chown_test;
+ sudo usermod -a -G chown_test $USER;
+ export DISPLAY=:99.0;
+ sh -e /etc/init.d/xvfb start;
+ elif [ $TRAVIS_OS_NAME = osx ]; then
+ sudo dscl . -create /Groups/chown_test;
+ sudo dscl . -append /Groups/chown_test GroupMembership $USER;
+ fi
script:
# This will pass the environment variables down to a bash process which runs
# as $USER, while retaining the environment variables defined and belonging
# to secondary groups given above in usermod.
- - sudo -E su ${USER} -c "ulimit -c 102400; sh -e \"${CI_SCRIPTS}/${CI_TARGET}.sh\""
+ - sudo -E su $USER -c "ulimit -c 102400; sh -e \"$CI_SCRIPTS/$CI_TARGET.sh\""