3 BUILD_IMAGES_PROJECT: cmocka/gitlab-build-images
4 FEDORA_BUILD: buildenv-fedora
5 CENTOS7_BUILD: buildenv-centos7
6 TUMBLEWEED_BUILD: buildenv-tumbleweed
7 MINGW_BUILD: buildenv-mingw
8 UBUNTU_BUILD: buildenv-ubuntu
17 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
19 - mkdir -p obj && cd obj && cmake3
20 -DCMAKE_BUILD_TYPE=RelWithDebInfo
22 -DUNIT_TESTING=ON .. &&
23 make -j$(nproc) && ctest --output-on-failure
36 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
38 - mkdir -p obj && cd obj && cmake
39 -DCMAKE_BUILD_TYPE=RelWithDebInfo
41 -DUNIT_TESTING=ON .. &&
42 make -j$(nproc) && ctest --output-on-failure
53 fedora/address-sanitizer:
55 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
57 - mkdir -p obj && cd obj && cmake
58 -DCMAKE_BUILD_TYPE=AddressSanitizer
60 -DUNIT_TESTING=ON .. &&
61 make -j$(nproc) && ctest --output-on-failure
72 fedora/undefined-sanitizer:
74 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
76 - mkdir -p obj && cd obj && cmake
77 -DCMAKE_BUILD_TYPE=UndefinedSanitizer
79 && make -j$(nproc) && ctest --output-on-failure
90 # realpath() doesn't work with libtsan and returns EINVAL
92 # fedora/thread-sanitizer:
93 tumbleweed/thread-sanitizer:
95 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
97 - mkdir -p obj && cd obj && cmake
98 -DCMAKE_BUILD_TYPE=ThreadSanitizer
100 -DUNIT_TESTING=ON .. &&
101 make -j$(nproc) && ctest --output-on-failure
114 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
117 if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
118 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
121 # Check if the commit exists in this branch
122 # This is not the case for a force push
123 git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null ||
124 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
126 export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
129 --build-dir=obj-csbuild
130 --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
131 --build-cmd "make clean && make -j$(nproc)"
132 --git-commit-range $CI_COMMIT_RANGE
134 --print-current --print-fixed
149 - mkdir -p obj && cd obj && cmake
150 -DCMAKE_BUILD_TYPE=RelWithDebInfo
152 -DUNIT_TESTING=ON .. &&
153 make && ctest --output-on-failure
159 - branches@cwrap/socket_wrapper
160 - branches@cryptomilk/socket_wrapper
161 - branches@metze/socket_wrapper
168 tumbleweed/x86_64/gcc:
170 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
172 - mkdir -p obj && cd obj && cmake
173 -DCMAKE_BUILD_TYPE=RelWithDebInfo
175 -DUNIT_TESTING=ON .. &&
176 make -j$(nproc) && ctest --output-on-failure
187 tumbleweed/x86_64/gcc7:
189 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
191 - mkdir -p obj && cd obj && cmake
192 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
193 -DCMAKE_BUILD_TYPE=RelWithDebInfo
195 -DUNIT_TESTING=ON .. &&
196 make -j$(nproc) && ctest --output-on-failure
207 tumbleweed/x86_64/clang:
209 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
211 - mkdir -p obj && cd obj && cmake
212 -DCMAKE_BUILD_TYPE=RelWithDebInfo
213 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
215 -DUNIT_TESTING=ON .. &&
216 make -j$(nproc) && ctest --output-on-failure
227 tumbleweed/static-analysis:
229 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
231 - export CCC_CC=clang
232 - export CCC_CXX=clang++
233 - mkdir -p obj && cd obj && scan-build cmake
234 -DCMAKE_BUILD_TYPE=Debug
235 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
237 -DUNIT_TESTING=ON .. &&
238 scan-build --status-bugs -o scan make -j$(nproc)
251 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
253 - mkdir -p obj && cd obj && cmake
254 -DCMAKE_BUILD_TYPE=Debug
257 -DHELGRIND_TESTING=ON .. &&
258 make -j$(nproc) && ctest --output-on-failure
270 - $VALGRIND_SUPPORTS_FORKED_MUTEXES == "yes"
274 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$UBUNTU_BUILD
276 - mkdir -p obj && cd obj && cmake
277 -DCMAKE_BUILD_TYPE=RelWithDebInfo
279 -DUNIT_TESTING=ON .. &&
280 make -j$(nproc) && ctest --output-on-failure