gitlab-ci: Remove debian cross mips build
[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
8 centos7/x86_64:
9   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
10   script:
11   - mkdir -p obj && cd obj && cmake3
12     -DCMAKE_BUILD_TYPE=RelWithDebInfo
13     -DPICKY_DEVELOPER=ON
14     -DUNIT_TESTING=ON .. &&
15     make -j$(nproc) && ctest --output-on-failure
16   tags:
17   - shared
18   except:
19   - tags
20   artifacts:
21     expire_in: 1 week
22     when: on_failure
23     paths:
24       - obj/
25
26 fedora/x86_64:
27   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
28   script:
29   - mkdir -p obj && cd obj && cmake
30     -DCMAKE_BUILD_TYPE=RelWithDebInfo
31     -DPICKY_DEVELOPER=ON
32     -DUNIT_TESTING=ON .. &&
33     make -j$(nproc) && ctest --output-on-failure
34   tags:
35   - shared
36   except:
37   - tags
38   artifacts:
39     expire_in: 1 week
40     when: on_failure
41     paths:
42       - obj/
43
44 fedora/address-sanitizer:
45   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
46   script:
47   - mkdir -p obj && cd obj && cmake
48     -DCMAKE_BUILD_TYPE=AddressSanitizer
49     -DPICKY_DEVELOPER=ON
50     -DUNIT_TESTING=ON .. &&
51     make -j$(nproc) && ctest --output-on-failure
52   tags:
53   - shared
54   except:
55   - tags
56   artifacts:
57     expire_in: 1 week
58     when: on_failure
59     paths:
60       - obj/
61
62 fedora/undefined-sanitizer:
63   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
64   script:
65   - mkdir -p obj && cd obj && cmake
66     -DCMAKE_BUILD_TYPE=UndefinedSanitizer
67     -DUNIT_TESTING=ON ..
68     && make -j$(nproc) && ctest --output-on-failure
69   tags:
70   - shared
71   except:
72   - tags
73   artifacts:
74     expire_in: 1 week
75     when: on_failure
76     paths:
77       - obj/
78
79 fedora/csbuild:
80   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
81   script:
82   - |
83     if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
84         export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
85     fi
86
87     # Check if the commit exists in this branch
88     # This is not the case for a force push
89     git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null || export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
90
91     export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
92
93   - csbuild
94     --build-dir=obj-csbuild
95     --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
96     --build-cmd "make clean && make -j$(nproc)"
97     --git-commit-range $CI_COMMIT_RANGE
98     --color
99     --print-current --print-fixed
100   tags:
101   - shared
102   except:
103   - tags
104   artifacts:
105     expire_in: 1 week
106     when: on_failure
107     paths:
108       - obj-csbuild/
109
110 freebsd/x86_64:
111   image:
112   script:
113   - mkdir -p obj && cd obj && cmake
114     -DCMAKE_BUILD_TYPE=RelWithDebInfo
115     -DPICKY_DEVELOPER=ON
116     -DUNIT_TESTING=ON .. &&
117     make && ctest --output-on-failure
118   tags:
119   - freebsd
120   except:
121   - tags
122   only:
123   - branches@cwrap/socket_wrapper
124   - branches@cryptomilk/socket_wrapper
125   - branches@metze/socket_wrapper
126   artifacts:
127     expire_in: 1 week
128     when: on_failure
129     paths:
130       - obj/
131
132 tumbleweed/x86_64/gcc:
133   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
134   script:
135   - mkdir -p obj && cd obj && cmake
136     -DCMAKE_BUILD_TYPE=RelWithDebInfo
137     -DPICKY_DEVELOPER=ON
138     -DUNIT_TESTING=ON .. &&
139     make -j$(nproc) && ctest --output-on-failure
140   tags:
141   - shared
142   except:
143   - tags
144   artifacts:
145     expire_in: 1 week
146     when: on_failure
147     paths:
148       - obj/
149
150 tumbleweed/x86_64/gcc7:
151   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
152   script:
153   - mkdir -p obj && cd obj && cmake
154     -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
155     -DCMAKE_BUILD_TYPE=RelWithDebInfo
156     -DPICKY_DEVELOPER=ON
157     -DUNIT_TESTING=ON .. &&
158     make -j$(nproc) && ctest --output-on-failure
159   tags:
160   - shared
161   except:
162   - tags
163   artifacts:
164     expire_in: 1 week
165     when: on_failure
166     paths:
167       - obj/
168
169 tumbleweed/x86_64/clang:
170   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
171   script:
172   - mkdir -p obj && cd obj && cmake
173     -DCMAKE_BUILD_TYPE=RelWithDebInfo
174     -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
175     -DPICKY_DEVELOPER=ON
176     -DUNIT_TESTING=ON .. &&
177     make -j$(nproc) && ctest --output-on-failure
178   tags:
179   - shared
180   except:
181   - tags
182   artifacts:
183     expire_in: 1 week
184     when: on_failure
185     paths:
186       - obj/
187
188 tumbleweed/static-analysis:
189   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
190   script:
191   - export CCC_CC=clang
192   - export CCC_CXX=clang++
193   - mkdir -p obj && cd obj && scan-build cmake
194     -DCMAKE_BUILD_TYPE=Debug
195     -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
196     -DPICKY_DEVELOPER=ON
197     -DUNIT_TESTING=ON .. &&
198     scan-build --status-bugs -o scan make -j$(nproc)
199   tags:
200   - shared
201   except:
202   - tags
203   artifacts:
204     expire_in: 1 week
205     when: on_failure
206     paths:
207       - obj/scan
208
209 tumbleweed/helgrind:
210   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
211   script:
212   - mkdir -p obj && cd obj && cmake
213     -DCMAKE_BUILD_TYPE=Debug
214     -DPICKY_DEVELOPER=ON
215     -DUNIT_TESTING=ON
216     -DHELGRIND_TESTING=ON .. &&
217     make -j$(nproc) && ctest --output-on-failure
218   tags:
219   - shared
220   except:
221   - tags
222   artifacts:
223     expire_in: 1 week
224     when: on_failure
225     paths:
226       - obj/