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: "whrqh1CrPLp+ssfVIDFwzAr705sGQixrubDa5+3laQY3Mi4vNfr5N+vPFHjdBjKusavRjAb8d9OiPuREhg/LTDV0Ntzj0M9D9uK3k5WvExMde7fkWoUVp5WjDesPQc2GhNlUowwsJN5saXK4HJ9yWN5oWL+emj9wa0TzlIDdC9YoaQHFL10EqqugW04XwZprV+YIKZA4y3GKySWNZKKoyc9y3w7BOGRl6deYnGhZNucgTEfcl5TdJL2d2V2q3TCEvxLkGMtz20VoVHOx5kSV6mFNUi7e5gExiZk6kNFjD2vgNl3EpGELpMd1wdxPFS5x/V7FezQgCS9vwaCWMe1FKzHrANvDxOAw4l4kIG5xBABPLUDELKkrXaiftWhFCnHeTA3ebyq4IyuoBWy1X7NmfdXdY3+dbB63xkHXAfcy4V9aj8vA2Yt79w/SJWwT5eJmNqgqL6Oq10lvy+YR69LKvKV2yQxe0yiDiMg/d4n1eAWgSa3frvbGwI2NvLHk4vtouc7agksvYmBFJ4T9VClltWQU8u2tN+okFczsPgISbz1T/L2Xfs0rxDIiLP1R5ARKLR1a3W/kq8hpv+g9M7XmIhg3ne/RKsZFghZrH/HTVx3FgHcQoTEOKbb77qoxBA0QNlPJrkZjHEsL9lXp19MZqBfW35yM/4gBv8ZAVDLrekk="
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.10 (Groovy Gorilla) ======================================
20   - name: "Ubuntu 20.10 (Groovy Gorilla) with GCC"
21     os: linux
22     dist: focal
23     group: travis_latest
24     env: DOCKER="ubuntu:groovy" VARIANT="ubuntu" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
25   - name: "Ubuntu 20.10 (Groovy Gorilla) with Clang"
26     os: linux
27     dist: focal
28     group: travis_latest
29     env: DOCKER="ubuntu:groovy" VARIANT="ubuntu" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
30   - name: "Ubuntu 20.10 (Groovy Gorilla) packaging with pbuilder"
31     dist: focal
32     group: travis_latest
33     env: DOCKER="ubuntu:groovy" VARIANT="ubuntu" TOOL="pbuilder"
34
35   # ====== Ubuntu 20.04 (Focal Fossa) ======================================
36   - name: "Ubuntu 20.04 (Focal Fossa) with GCC"
37     os: linux
38     dist: focal
39     group: travis_latest
40     env: DOCKER="ubuntu:focal" VARIANT="ubuntu" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
41   - name: "Ubuntu 20.04 (Focal Fossa) with Clang"
42     os: linux
43     dist: focal
44     group: travis_latest
45     env: DOCKER="ubuntu:focal" VARIANT="ubuntu" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
46   - name: "Ubuntu 20.04 (Focal Fossa) packaging with pbuilder"
47     dist: focal
48     group: travis_latest
49     env: DOCKER="ubuntu:focal" 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.2-RELEASE ============================================
214   - name: "FreeBSD 12.2-RELEASE with Clang"
215     os: linux
216     dist: focal
217     group: travis_latest
218     env: QEMU="FreeBSD" VARIANT="12.2-RELEASE" TOOL="compile" COMPILER_C="clang" COMPILER_CXX="clang++"
219   - name: "FreeBSD 12.2-RELEASE with GCC"
220     os: linux
221     dist: focal
222     group: travis_latest
223     env: QEMU="FreeBSD" VARIANT="12.2-RELEASE" TOOL="compile" COMPILER_C="gcc" COMPILER_CXX="g++"
224
225
226   # ###### Other ###########################################################
227
228   # ====== MacOS X ========================================================
229   # - name: "MacOS X"
230   #   os: osx
231   #   osx_image: xcode9.4
232   #   compiler: clang
233   #   group: travis_latest
234
235
236   # ###### Special #########################################################
237
238   - name: "Default Build"
239     os: linux
240     dist: focal
241     group: travis_latest
242     env: TOOL="compile"
243
244   - name: "Coverity Scan"
245     os: linux
246     dist: focal
247     group: travis_latest
248     env:
249      - TOOL="coverity"
250      - VARIANT="ubuntu"
251      - COVERITY_PROJECT="dreibh%2Ffractgen"
252      - COVERITY_SCAN_NOTIFICATION_EMAIL="dreibh@simula.no"
253      - COVERITY_SCAN_BRANCH="coverity_scan"
254
255
256before_install:
257  - ci/before-install
258
259install:
260  - ci/install
261
262script:
263  - ci/build
264  - ci/test
265