summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorDavid Goldblatt <davidgoldblatt@fb.com>2017-01-25 20:58:50 (GMT)
committerDavid Goldblatt <davidtgoldblatt@gmail.com>2017-01-27 05:31:21 (GMT)
commit6e7d0890cb66af3b85ab210ed781dab11c1c4614 (patch)
tree6f19f44350ed44b0c2e68596da240def3f2b76f9 /.travis.yml
parent85d284181872d9a6fb813b184cad2cd0a77fc249 (diff)
downloadjemalloc-6e7d0890cb66af3b85ab210ed781dab11c1c4614.zip
jemalloc-6e7d0890cb66af3b85ab210ed781dab11c1c4614.tar.gz
jemalloc-6e7d0890cb66af3b85ab210ed781dab11c1c4614.tar.bz2
Beef up travis CI integration testing
Introduces gen_travis.py, which generates .travis.yml, and updates .travis.yml to be the generated version. The travis build matrix approach doesn't play well with mixing and matching various different environment settings, so we generate every build explicitly, rather than letting them do it for us. To avoid abusing travis resources (and save us time waiting for CI results), we don't test every possible combination of options; we only check up to 2 unusual settings at a time.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml84
1 files changed, 73 insertions, 11 deletions
diff --git a/.travis.yml b/.travis.yml
index 97641ec..efac854 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,31 +3,93 @@ language: generic
matrix:
include:
- os: linux
- env: CC=gcc CXX=g++
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS=""
+ - os: osx
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS=""
+ - os: linux
+ env: CC=clang CXX=clang++ COMPILER_FLAGS="" CONFIGURE_FLAGS=""
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="-m32" CONFIGURE_FLAGS=""
+ addons:
+ apt:
+ packages:
+ - gcc-multilib
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug"
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-prof"
- os: linux
- env: CC=clang CXX=clang++
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-stats"
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-tcache"
+ - os: osx
+ env: CC=clang CXX=clang++ COMPILER_FLAGS="" CONFIGURE_FLAGS=""
+ - os: osx
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="-m32" CONFIGURE_FLAGS=""
+ - os: osx
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug"
+ - os: osx
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-stats"
+ - os: osx
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-tcache"
- os: linux
- env: CC=gcc CXX=g++ EXTRA_FLAGS=-m32
+ env: CC=clang CXX=clang++ COMPILER_FLAGS="-m32" CONFIGURE_FLAGS=""
addons:
apt:
packages:
- - gcc-multilib
+ - gcc-multilib
+ - os: linux
+ env: CC=clang CXX=clang++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug"
- os: linux
- env: CC=clang CXX=clang++ EXTRA_FLAGS=-m32
+ env: CC=clang CXX=clang++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-prof"
+ - os: linux
+ env: CC=clang CXX=clang++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-stats"
+ - os: linux
+ env: CC=clang CXX=clang++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-tcache"
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="-m32" CONFIGURE_FLAGS="--enable-debug"
addons:
apt:
packages:
- - gcc-multilib
- - os: osx
- env: CC=clang CXX=clang++
- - os: osx
- env: CC=clang CXX=clang++ EXTRA_FLAGS=-m32
+ - gcc-multilib
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="-m32" CONFIGURE_FLAGS="--enable-prof"
+ addons:
+ apt:
+ packages:
+ - gcc-multilib
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="-m32" CONFIGURE_FLAGS="--disable-stats"
+ addons:
+ apt:
+ packages:
+ - gcc-multilib
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="-m32" CONFIGURE_FLAGS="--disable-tcache"
+ addons:
+ apt:
+ packages:
+ - gcc-multilib
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug --enable-prof"
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug --disable-stats"
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug --disable-tcache"
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-prof --disable-stats"
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-prof --disable-tcache"
+ - os: linux
+ env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-stats --disable-tcache"
+
before_script:
- autoconf
- - ./configure${EXTRA_FLAGS:+ CC="$CC $EXTRA_FLAGS" CXX="$CXX $EXTRA_FLAGS"}
+ - ./configure ${COMPILER_FLAGS:+ CC="$CC $COMPILER_FLAGS" CXX="$CXX $COMPILER_FLAGS" } $CONFIGURE_FLAGS
- make -j3
- make -j3 tests
script:
- make check
+