blob: a49b5e8e34058615a15f314f8dffb0cea1ede4c5 [file] [log] [blame]
Alexander Afanasyev49ecab22020-05-31 00:03:17 -04001version: ~> 1.0
2language: cpp
3os: linux
4dist: bionic
5arch: amd64
6
Alexander Afanasyev40b88332019-02-13 16:19:06 -05007env:
Alexander Afanasyev49ecab22020-05-31 00:03:17 -04008 - COMPILER=g++-7
9 - COMPILER=g++-9
10 - COMPILER=clang++-6.0
11 - COMPILER=clang++-9
12
13jobs:
Alexander Afanasyeve0ab3f92016-10-20 13:29:39 -070014 include:
Alexander Afanasyev49ecab22020-05-31 00:03:17 -040015 # Linux
16 - env: COMPILER=g++-8
17 - env: COMPILER=clang++-5.0
18 - env: COMPILER=clang++-7
19 - env: COMPILER=clang++-8
20 - env: COMPILER=clang++-10
21 - env: COMPILER=clang++-11
22
23 # macOS
Alexander Afanasyeve0ab3f92016-10-20 13:29:39 -070024 - os: osx
Alexander Afanasyev49ecab22020-05-31 00:03:17 -040025 osx_image: xcode11.4
26 env: # default compiler
27
28 allow_failures:
29 - env: COMPILER=clang++-11
30
31 fast_finish: true
32
33before_install:
34 - |
35 : Adding apt repositories
36 case ${COMPILER} in
37 g++-9)
38 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
39 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
40 travis_retry sudo apt-get -qq update
41 ;;
42 clang++-1?)
43 # https://apt.llvm.org/
44 LLVM_REPO=${COMPILER/clang++/llvm-toolchain-${TRAVIS_DIST}}
45 travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
46 travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/${TRAVIS_DIST}/ ${LLVM_REPO%-11} main"
47 travis_retry sudo apt-get -qq update
48 ;;
49 esac
50
51install:
52 - |
53 : Installing C++ compiler
54 if [[ -n ${COMPILER} ]]; then
55 travis_retry sudo apt-get -qy install ${COMPILER/clang++/clang}
56 fi
57
58before_script:
59 - |
60 : Setting environment variables
61 if [[ -n ${COMPILER} ]]; then
62 export CXX=${COMPILER}
63 fi
64 case ${TRAVIS_OS_NAME} in
65 linux) export NODE_LABELS="Linux Ubuntu Ubuntu-18.04" ;;
66 osx) export NODE_LABELS="OSX OSX-$(sw_vers -productVersion | cut -d . -f -2)" ;;
67 esac
68 export JOB_NAME=limited-build
69 export WAF_JOBS=2
70 - |
71 : Enabling workarounds
72 case "${TRAVIS_CPU_ARCH},${COMPILER}" in
73 arm64,g++*)
74 # Avoid exceeding the per-job time limit
75 export DISABLE_HEADERS_CHECK=yes
76 ;;
77 ppc64le,g++-7)
78 # AddressSanitizer does not seem to be working
79 export DISABLE_ASAN=yes
80 ;;
81 *,clang++-8)
82 # https://bugs.llvm.org/show_bug.cgi?id=40808
83 export DISABLE_ASAN=yes
84 ;;
85 esac
86 - ${CXX:-c++} --version
87
Alexander Afanasyev15db7722015-01-19 17:27:26 -080088script:
Alexander Afanasyevd6453cd2015-08-20 21:45:36 -070089 - ./.jenkins