-
Notifications
You must be signed in to change notification settings - Fork 3
/
.travis.yml
95 lines (88 loc) · 3.07 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# Use, modification, and distribution are
# subject to the Boost Software License, Version 1.0. (See accompanying
# file LICENSE.txt)
#
# Copyright René Ferdinand Rivera Morell 2020-2021.
# Configuration for https://travis-ci.com/.
branches:
only:
- master
# We specify a generic language instead of C++ as Travis sets up
# additional environment vars that point to its default toolset
# instead of the one we install. The extra env doesn't interfere,
# but at the same time it's misleading. So to avoid confusion and
# possible unseen side effects we stick with no C++ default setup.
language: generic
# Because we install our own toolsets and other software we need
# to run the sudo support.
sudo: required
jobs:
include:
# The various GCC's and Clang's available for Ubuntu Bionic.
- os: linux
dist: bionic
env: [ 'CXX=g++-10', 'PACKAGES=g++-10' ]
- os: linux
dist: bionic
env: [ 'CXX=g++-9', 'PACKAGES=g++-9' ]
- os: linux
dist: bionic
env: [ 'CXX=g++-8', 'PACKAGES=g++-8' ]
- os: linux
dist: bionic
env: [ 'CXX=g++-7', 'PACKAGES=g++-7' ]
- os: linux
dist: bionic
env: [ 'CXX=g++-6', 'PACKAGES=g++-6' ]
- os: linux
dist: bionic
env: [ 'CXX=g++-5', 'PACKAGES=g++-5' ]
- os: linux
dist: bionic
env: [ 'CXX=clang++-10', 'PACKAGES=clang-10', 'LLVM_OS=bionic', 'LLVM_VER=10' ]
- os: linux
dist: bionic
env: [ 'CXX=clang++-9', 'PACKAGES=clang-9', 'LLVM_OS=bionic', 'LLVM_VER=9' ]
- os: linux
dist: bionic
env: [ 'CXX=clang++-8', 'PACKAGES=clang-8', 'LLVM_OS=bionic', 'LLVM_VER=8' ]
- os: linux
dist: bionic
env: [ 'CXX=clang++-7', 'PACKAGES=clang-7', 'LLVM_OS=bionic', 'LLVM_VER=7' ]
- os: linux
dist: bionic
env: [ 'CXX=clang++-6.0', 'PACKAGES=clang-6.0', 'LLVM_OS=bionic', 'LLVM_VER=6.0' ]
- os: linux
dist: bionic
env: [ 'CXX=clang++-5.0', 'PACKAGES=clang-5.0', 'LLVM_OS=bionic', 'LLVM_VER=5.0' ]
# Key Xcode versions pre-installed on TravisCI images.
- os: osx
osx_image: xcode11.3
env: [ 'CXX=clang++', 'XCODE_VERSION=11.3.1' ]
- os: osx
osx_image: xcode9.4
env: [ 'CXX=clang++', 'XCODE_VERSION=9.4.1' ]
# We need to handle the various OSs in the one install step ourselves.
# For each OS we run our utility scripts that does all the work.
install:
- |
set -e
uname -a
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
./.ci_playground/linux-cxx-install.sh
else
./.ci_playground/macos-xcode-install.sh
fi
# We also need to handle multiple OSs in the script step. Note, that for
# Xcode the extra --sysroot option relies on the xcode-install utility
# that creates a single /Applications/Xcode.app symlink to the currently
# selected toolset.
script:
- |
set -e
${CXX} --version
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
${CXX} ${CXXFLAGS} -v src/main.cpp
else
${CXX} ${CXXFLAGS} -v --sysroot "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" src/main.cpp
fi