gitlab-ci: Disable the FreeBSD runner
[socket_wrapper.git] / .gitlab-ci.yml
1 variables:
2   BUILD_IMAGES_PROJECT: cmocka/gitlab-build-images
3   FEDORA_BUILD: buildenv-fedora
4   CENTOS7_BUILD: buildenv-centos7
5   TUMBLEWEED_BUILD: buildenv-tumbleweed
6   MINGW_BUILD: buildenv-mingw
7   DEBIAN_CROSS_BUILD: buildenv-debian-cross
8
9 centos7/x86_64:
10   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
11   script:
12   - mkdir -p obj && cd obj && cmake3
13     -DCMAKE_BUILD_TYPE=RelWithDebInfo
14     -DPICKY_DEVELOPER=ON
15     -DUNIT_TESTING=ON .. &&
16     make -j$(nproc) && ctest --output-on-failure
17   tags:
18   - shared
19   except:
20   - tags
21   artifacts:
22     expire_in: 1 week
23     when: on_failure
24     paths:
25       - obj/
26
27 fedora/x86_64:
28   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
29   script:
30   - mkdir -p obj && cd obj && cmake
31     -DCMAKE_BUILD_TYPE=RelWithDebInfo
32     -DPICKY_DEVELOPER=ON
33     -DUNIT_TESTING=ON .. &&
34     make -j$(nproc) && ctest --output-on-failure
35   tags:
36   - shared
37   except:
38   - tags
39   artifacts:
40     expire_in: 1 week
41     when: on_failure
42     paths:
43       - obj/
44
45 fedora/address-sanitizer:
46   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
47   script:
48   - mkdir -p obj && cd obj && cmake
49     -DCMAKE_BUILD_TYPE=AddressSanitizer
50     -DPICKY_DEVELOPER=ON
51     -DUNIT_TESTING=ON .. &&
52     make -j$(nproc) && ctest --output-on-failure
53   tags:
54   - shared
55   except:
56   - tags
57   artifacts:
58     expire_in: 1 week
59     when: on_failure
60     paths:
61       - obj/
62
63 fedora/undefined-sanitizer:
64   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
65   script:
66   - mkdir -p obj && cd obj && cmake
67     -DCMAKE_BUILD_TYPE=UndefinedSanitizer
68     -DUNIT_TESTING=ON ..
69     && make -j$(nproc) && ctest --output-on-failure
70   tags:
71   - shared
72   except:
73   - tags
74   artifacts:
75     expire_in: 1 week
76     when: on_failure
77     paths:
78       - obj/
79
80 # This runner is disabled because there is a threading race condition in
81 # FreeBSD.
82 # See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231848
83 .freebsd/x86_64:
84   image:
85   script:
86   - mkdir -p obj && cd obj && cmake
87     -DCMAKE_BUILD_TYPE=RelWithDebInfo
88     -DPICKY_DEVELOPER=ON
89     -DUNIT_TESTING=ON .. &&
90     make && ctest --output-on-failure
91   tags:
92   - freebsd
93   except:
94   - tags
95   only:
96   - branches@cwrap/socket_wrapper
97   - branches@cryptomilk/socket_wrapper
98   artifacts:
99     expire_in: 1 week
100     when: on_failure
101     paths:
102       - obj/
103
104 .Debian.cross.template: &Debian_cross_template
105   stage: test
106   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_CROSS_BUILD
107   script:
108   - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
109   - host="${CI_JOB_NAME#*.cross.}"
110   - mkdir -p obj && cd obj && cmake
111     -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-Debian-mips.cmake
112     -DCMAKE_BUILD_TYPE=RelWithDebInfo
113     -DUNIT_TESTING=ON .. && make -j$(nproc) &&
114     ctest --output-on-failure
115   tags:
116   - shared
117   except:
118   - tags
119   artifacts:
120     expire_in: 1 week
121     when: on_failure
122     paths:
123       - obj/
124
125 Debian.cross.mips-linux-gnu:
126   <<: *Debian_cross_template
127
128 tumbleweed/x86_64/gcc:
129   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
130   script:
131   - mkdir -p obj && cd obj && cmake
132     -DCMAKE_BUILD_TYPE=RelWithDebInfo
133     -DPICKY_DEVELOPER=ON
134     -DUNIT_TESTING=ON .. &&
135     make -j$(nproc) && ctest --output-on-failure
136   tags:
137   - shared
138   except:
139   - tags
140   artifacts:
141     expire_in: 1 week
142     when: on_failure
143     paths:
144       - obj/
145
146 tumbleweed/x86_64/gcc7:
147   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
148   script:
149   - mkdir -p obj && cd obj && cmake
150     -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
151     -DCMAKE_BUILD_TYPE=RelWithDebInfo
152     -DPICKY_DEVELOPER=ON
153     -DUNIT_TESTING=ON .. &&
154     make -j$(nproc) && ctest --output-on-failure
155   tags:
156   - shared
157   except:
158   - tags
159   artifacts:
160     expire_in: 1 week
161     when: on_failure
162     paths:
163       - obj/
164
165 tumbleweed/x86_64/clang:
166   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
167   script:
168   - mkdir -p obj && cd obj && cmake
169     -DCMAKE_BUILD_TYPE=RelWithDebInfo
170     -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
171     -DPICKY_DEVELOPER=ON
172     -DUNIT_TESTING=ON .. &&
173     make -j$(nproc) && ctest --output-on-failure
174   tags:
175   - shared
176   except:
177   - tags
178   artifacts:
179     expire_in: 1 week
180     when: on_failure
181     paths:
182       - obj/
183
184 tumbleweed/static-analysis:
185   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
186   script:
187   - export CCC_CC=clang
188   - export CCC_CXX=clang++
189   - mkdir -p obj && cd obj && scan-build cmake
190     -DCMAKE_BUILD_TYPE=Debug
191     -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
192     -DPICKY_DEVELOPER=ON
193     -DUNIT_TESTING=ON .. &&
194     scan-build --status-bugs -o scan make -j$(nproc)
195   tags:
196   - shared
197   except:
198   - tags
199   artifacts:
200     expire_in: 1 week
201     when: on_failure
202     paths:
203       - obj/scan
204
205 tumbleweed/helgrind:
206   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
207   script:
208   - mkdir -p obj && cd obj && cmake
209     -DCMAKE_BUILD_TYPE=Debug
210     -DPICKY_DEVELOPER=ON
211     -DUNIT_TESTING=ON
212     -DHELGRIND_TESTING=ON .. &&
213     make -j$(nproc) && ctest --output-on-failure
214   tags:
215   - shared
216   except:
217   - tags
218   artifacts:
219     expire_in: 1 week
220     when: on_failure
221     paths:
222       - obj/