summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2018-11-05 06:32:27 +0100
committerAkim Demaille <akim.demaille@gmail.com>2018-11-05 06:32:27 +0100
commit7cab285eda710d9309a285b765112e295bd99ba0 (patch)
treef5ba6a87bdc6ffc285c48a62ec5cc1e34117126f /.travis.yml
parent86efe2822260949ee5bfd2512f6aa007901d39f4 (diff)
downloadbison-7cab285eda710d9309a285b765112e295bd99ba0.tar.gz
CI: maximize chances of errors sooner
* .travis.yml: Try clang and icc soon, so that we don't have to wait for the end of the run to know that they fail.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml81
1 files changed, 44 insertions, 37 deletions
diff --git a/.travis.yml b/.travis.yml
index 3cb65ef7..d3ebd643 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,9 +12,53 @@ env:
matrix:
include:
+ ## ------- ##
+ ## First. ##
+ ## ------- ##
+
+ # Start with three completely different environments, to get
+ # errors asap.
+
+ - name: "GCC 7 -O3"
+ os: linux
+ addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - g++-7
+ env:
+ - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7 && CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3'"
+
+ - name: "Clang 7 libc++ and ASAN"
+ os: linux
+ addons:
+ apt:
+ sources:
+ - llvm-toolchain-trusty-7
+ - ubuntu-toolchain-r-test
+ packages:
+ - clang-7
+ - libc++-7-dev
+ - libc++abi-7-dev
+ env:
+ # Do not use ASAN with ubuntu's libc++: https://bugs.llvm.org/show_bug.cgi?id=17379
+ - MATRIX_EVAL="CC='clang-7 -fsanitize=address' CXX='clang++-7 -fsanitize=address -stdlib=libc++'"
+
+ - name: "ICC"
+ os: linux
+ env:
+ # ICC's warnings are often very wrong (e.g., it thinks foo ?
+ # "bar" : "baz" is char* instead of const char*), so don't try
+ # to work around the, and obviously, don't die on them.
+ - MATRIX_EVAL="CC=icc && CXX=icpc"
+ - MAKE_ARGS='WERROR_CFLAGS= WERROR_CXXFLAGS='
+
+
## ----- ##
## GCC. ##
## ----- ##
+
#- name: "GCC 8 with sanitizers"
# os: linux
# addons:
@@ -29,17 +73,6 @@ matrix:
# # /usr/bin/ld: unrecognized option '--push-state'
# - MATRIX_EVAL="CC='gcc-8 -fsanitize=undefined,address -fno-omit-frame-pointer' CXX='g++-8 -fsanitize=undefined,address -fno-omit-frame-pointer'"
- - name: "GCC 7 -O3"
- os: linux
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - g++-7
- env:
- - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7 && CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3'"
-
- name: "GCC 6"
os: linux
addons:
@@ -110,21 +143,6 @@ matrix:
## Clang. ##
## ------- ##
- - name: "Clang 7 libc++ and ASAN"
- os: linux
- addons:
- apt:
- sources:
- - llvm-toolchain-trusty-7
- - ubuntu-toolchain-r-test
- packages:
- - clang-7
- - libc++-7-dev
- - libc++abi-7-dev
- env:
- # Do not use ASAN with ubuntu's libc++: https://bugs.llvm.org/show_bug.cgi?id=17379
- - MATRIX_EVAL="CC='clang-7 -fsanitize=address' CXX='clang++-7 -fsanitize=address -stdlib=libc++'"
-
- name: "Clang 6 -O3 and libc++"
os: linux
addons:
@@ -242,17 +260,6 @@ matrix:
# See comment for 3.4.
- MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++'
- ## ----- ##
- ## ICC. ##
- ## ----- ##
- - name: "ICC"
- os: linux
- env:
- # ICC's warnings are often very wrong (e.g., it thinks foo ?
- # "bar" : "baz" is char* instead of const char*), so don't try
- # to work around the, and obviously, don't die on them.
- - MATRIX_EVAL="CC=icc && CXX=icpc"
- - MAKE_ARGS='WERROR_CFLAGS= WERROR_CXXFLAGS='
before_install:
- eval "$MATRIX_EVAL"