1language: c++
2sudo: required
3env:
4  global:
5    # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
6    #   via the "travis encrypt" command using the project repo's public key
7    - secure: "TrnxbWVvElkruJaiUDyHmK+E1fAU80rsQl1JkAJ4wVz0WF+YWvl4guUZYMlCSM07x0QVpyA70G8sH/7JcyagfHSTck1fBg6iih/LR0xNOU3OdbQ/WstUpIpJAHLR2SgSw9e3UcT8QcqS9wkveB2NJkD5UiSlD93Lc9a/LRlBN4CzCPduW9niiwiGJ9N3G7RcCrgcuHpKMMWoF2XXWTrIrPsvhG2qlXM5XkU/r6SfU1SAZzpZDp9vym9LpDwO6FAQwy/aIQzcwb2+IWy8QO+TiA8aWRhGttzLMoJs/QnRttRm0/4iryvgCDpFm5GbAcK3MIr0AxLGmtFFlfzvtNbEKL6iu8jJjKkjS8oI8/UgP6saxa6+KboJgwDLeyT4LVikBj4l5AxL7gNnngBKlY6DUtqVjopJcGa6oJxKFAtRhN11RgWv8YmRD6qiRu9d2Y+5eOnx3+0Bg73VbwCOJXEA6Uwmxwp64796dvSre3vOqbfF1+x2lzCIE/H9GKnB/EXmrpBSqMhaC9gntTjYHfufz4McTBYywAp2a19kpDoXxDOlc/YpgRss98ezMVbuuQwABauE4rwOsUDmdhWPOGnu5h4o9i3m5hOQMH4Rpmh2UBmOByZ56WLFaYwSzFRGzixX2q1yMx1cqRFjF7vTYMLU+jp9jTexmcdxdUWdYgXSKAQ="
8cache:
9  directories:
10    - /var/cache/apt/
11    - /var/cache/pbuilder/aptcache/
12
13
14matrix:
15  include:
16
17   # ###### Ubuntu Linux ####################################################
18
19   # ====== Ubuntu 20.04 (Focal Fossa) ======================================
20   - name: "Ubuntu 20.04 (Focal Fossa) with GCC"
21     os: linux
22     dist: focal
23     group: travis_latest
24     env: DOCKER="ubuntu:focal" VARIANT="ubuntu" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
25   - name: "Ubuntu 20.04 (Focal Fossa) with Clang"
26     os: linux
27     dist: focal
28     group: travis_latest
29     env: DOCKER="ubuntu:focal" VARIANT="ubuntu" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
30   - name: "Ubuntu 20.04 (Focal Fossa) packaging with pbuilder"
31     dist: focal
32     group: travis_latest
33     env: DOCKER="ubuntu:focal" VARIANT="ubuntu" TOOL="pbuilder"
34
35   # ====== Ubuntu 20.10 (Groovy Gorilla) ======================================
36   - name: "Ubuntu 20.10 (Groovy Gorilla) with GCC"
37     os: linux
38     dist: focal
39     group: travis_latest
40     env: DOCKER="ubuntu:groovy" VARIANT="ubuntu" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
41   - name: "Ubuntu 20.10 (Groovy Gorilla) with Clang"
42     os: linux
43     dist: focal
44     group: travis_latest
45     env: DOCKER="ubuntu:groovy" VARIANT="ubuntu" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
46   - name: "Ubuntu 20.10 (Groovy Gorilla) packaging with pbuilder"
47     dist: focal
48     group: travis_latest
49     env: DOCKER="ubuntu:groovy" VARIANT="ubuntu" TOOL="pbuilder"
50
51   # ====== Ubuntu 18.04 (Bionic Beaver) ====================================
52   - name: "Ubuntu 18.04 (Bionic Beaver) with GCC"
53     os: linux
54     dist: focal
55     group: travis_latest
56     env: DOCKER="ubuntu:bionic" VARIANT="ubuntu" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
57   - name: "Ubuntu 18.04 (Bionic Beaver) with Clang"
58     os: linux
59     dist: focal
60     group: travis_latest
61     env: DOCKER="ubuntu:bionic" VARIANT="ubuntu" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
62   - name: "Ubuntu 18.04 (Bionic Beaver) packaging with pbuilder"
63     os: linux
64     dist: focal
65     group: travis_latest
66     env: DOCKER="ubuntu:bionic" VARIANT="ubuntu" TOOL="pbuilder"
67
68   # ====== Ubuntu 16.04 (Xenial Xerus) =====================================
69   - name: "Ubuntu 16.04 (Xenial Xerus) with GCC"
70     os: linux
71     dist: focal
72     group: travis_latest
73     env: DOCKER="ubuntu:xenial" VARIANT="ubuntu" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
74   - name: "Ubuntu 16.04 (Xenial Xerus) with Clang"
75     os: linux
76     dist: focal
77     group: travis_latest
78     env: DOCKER="ubuntu:xenial" VARIANT="ubuntu" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
79   - name: "Ubuntu 16.04 (Xenial Xerus) packaging with pbuilder"
80     os: linux
81     dist: focal
82     group: travis_latest
83     env: DOCKER="ubuntu:xenial" VARIANT="ubuntu" TOOL="pbuilder"
84
85
86    # ###### Debian Linux ###################################################
87
88    # ====== Debian Testing =================================================
89   - name: "Debian Testing with GCC"
90     os: linux
91     dist: focal
92     group: travis_latest
93     env: DOCKER="debian:testing" VARIANT="debian" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
94   - name: "Debian Testing with Clang"
95     os: linux
96     dist: focal
97     group: travis_latest
98     env: DOCKER="debian:testing" VARIANT="debian" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
99   - name: "Debian Testing packaging with pbuilder"
100     os: linux
101     dist: focal
102     group: travis_latest
103     env: DOCKER="debian:testing" VARIANT="debian" TOOL="pbuilder"
104
105   # ====== Debian Sid ======================================================
106   - name: "Debian Sid with GCC"
107     os: linux
108     dist: focal
109     group: travis_latest
110     env: DOCKER="debian:sid" VARIANT="debian" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
111   - name: "Debian Sid with Clang"
112     os: linux
113     dist: focal
114     group: travis_latest
115     env: DOCKER="debian:sid" VARIANT="debian" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
116   - name: "Debian Sid packaging with pbuilder"
117     os: linux
118     dist: focal
119     group: travis_latest
120     env: DOCKER="debian:sid" VARIANT="debian" TOOL="pbuilder"
121
122   # ====== Debian Buster ===================================================
123   - name: "Debian Buster with GCC"
124     os: linux
125     dist: focal
126     group: travis_latest
127     env: DOCKER="debian:buster" VARIANT="debian" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
128   - name: "Debian Buster with Clang"
129     os: linux
130     dist: focal
131     group: travis_latest
132     env: DOCKER="debian:buster" VARIANT="debian" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
133   - name: "Debian Buster packaging with pbuilder"
134     os: linux
135     dist: focal
136     group: travis_latest
137     env: DOCKER="debian:buster" VARIANT="debian" TOOL="pbuilder"
138
139   # ====== Debian Stretch ==================================================
140   - name: "Debian Stretch with GCC"
141     os: linux
142     dist: focal
143     group: travis_latest
144     env: DOCKER="debian:stretch" VARIANT="debian" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
145   - name: "Debian Stretch with Clang"
146     os: linux
147     dist: focal
148     group: travis_latest
149     env: DOCKER="debian:stretch" VARIANT="debian" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
150   - name: "Debian Stretch packaging with pbuilder"
151     os: linux
152     dist: focal
153     group: travis_latest
154     env: DOCKER="debian:stretch" VARIANT="debian" TOOL="pbuilder"
155
156
157   # ###### Fedora Linux ###################################################
158
159   # ====== Fedora 33 =======================================================
160   - name: "Fedora 33 with GCC"
161     os: linux
162     dist: focal
163     group: travis_latest
164     env: DOCKER="fedora:33" VARIANT="fedora" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
165   - name: "Fedora 33 with Clang"
166     os: linux
167     dist: focal
168     group: travis_latest
169     env: DOCKER="fedora:33" VARIANT="fedora" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
170   - name: "Fedora 33 packaging with mock"
171     os: linux
172     dist: focal
173     group: travis_latest
174     env: DOCKER="fedora:33" VARIANT="fedora" TOOL="mock"
175
176   # ====== Fedora 32 =======================================================
177   - name: "Fedora 32 with GCC"
178     os: linux
179     dist: focal
180     group: travis_latest
181     env: DOCKER="fedora:32" VARIANT="fedora" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
182   - name: "Fedora 32 with Clang"
183     os: linux
184     dist: focal
185     group: travis_latest
186     env: DOCKER="fedora:32" VARIANT="fedora" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
187   - name: "Fedora 32 packaging with mock"
188     os: linux
189     dist: focal
190     group: travis_latest
191     env: DOCKER="fedora:32" VARIANT="fedora" TOOL="mock"
192
193   # ====== Fedora Rawhide ==================================================
194   # - name: "Fedora Rawhide with GCC"
195   #   os: linux
196   #   dist: focal
197   #   group: travis_latest
198   #   env: DOCKER="fedora:rawhide" VARIANT="fedora" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
199   # - name: "Fedora Rawhide with Clang"
200   #   os: linux
201   #   dist: focal
202   #   group: travis_latest
203   #   env: DOCKER="fedora:rawhide" VARIANT="fedora" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
204   # - name: "Fedora Rawhide packaging with mock"
205   #   os: linux
206   #   dist: focal
207   #   group: travis_latest
208   #   env: DOCKER="fedora:rawhide" VARIANT="fedora" TOOL="mock"
209
210
211   # ###### FreeBSD #########################################################
212
213   # ====== FreeBSD 12.1-RELEASE ============================================
214   - name: "FreeBSD 12.1-RELEASE with Clang"
215     os: linux
216     dist: focal
217     group: travis_latest
218     env: QEMU="FreeBSD" VARIANT="12.1-RELEASE" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
219   #- name: "FreeBSD 12.1-RELEASE with GCC"
220     #os: linux
221     #dist: focal
222     #group: travis_latest
223     #env: QEMU="FreeBSD" VARIANT="12.1-RELEASE" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
224
225   # ====== FreeBSD 12.2-RELEASE ============================================
226   - name: "FreeBSD 12.2-RELEASE with Clang"
227     os: linux
228     dist: focal
229     group: travis_latest
230     env: QEMU="FreeBSD" VARIANT="12.2-RELEASE" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
231   #- name: "FreeBSD 12.2-RELEASE with GCC"
232     #os: linux
233     #dist: focal
234     #group: travis_latest
235     #env: QEMU="FreeBSD" VARIANT="12.2-RELEASE" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
236
237   # ====== FreeBSD 11.4-RELEASE ============================================
238   - name: "FreeBSD 11.4-RELEASE with Clang"
239     os: linux
240     dist: focal
241     group: travis_latest
242     env: QEMU="FreeBSD" VARIANT="11.4-RELEASE" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
243   #- name: "FreeBSD 11.4-RELEASE with GCC"
244     #os: linux
245     #dist: focal
246     #group: travis_latest
247     #env: QEMU="FreeBSD" VARIANT="11.4-RELEASE" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
248
249
250   # ###### Other ###########################################################
251
252   # ====== MacOS X =========================================================
253   # - name: "MacOS X"
254   #   os: osx
255   #   osx_image: xcode9.4
256   #   compiler: clang
257   #   group: travis_latest
258
259
260   # ###### Special #########################################################
261
262   - name: "Default Build"
263     os: linux
264     dist: focal
265     group: travis_latest
266     env: TOOL="compile"
267
268   - name: "Coverity Scan"
269     os: linux
270     dist: focal
271     group: travis_latest
272     env:
273      - TOOL="coverity"
274      - VARIANT="ubuntu"
275      - COVERITY_PROJECT="dreibh%2Fhipercontracer"
276      - COVERITY_SCAN_NOTIFICATION_EMAIL="dreibh@simula.no"
277      - COVERITY_SCAN_BRANCH="coverity_scan"
278
279
280before_install:
281  - ci/before-install
282
283install:
284  - ci/install
285
286script:
287  - ci/build
288  - ci/test
289