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
9 UBUNTU32_BUILD: buildenv-ubuntu32
18 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
20 - mkdir -p obj && cd obj && cmake3
21 -DCMAKE_BUILD_TYPE=RelWithDebInfo
23 -DUNIT_TESTING=ON .. &&
24 make -j$(nproc) && ctest --output-on-failure
37 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
39 - mkdir -p obj && cd obj && cmake
40 -DCMAKE_BUILD_TYPE=RelWithDebInfo
42 -DUNIT_TESTING=ON .. &&
43 make -j$(nproc) && ctest --output-on-failure
54 fedora/address-sanitizer:
56 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
58 - mkdir -p obj && cd obj && cmake
59 -DCMAKE_BUILD_TYPE=AddressSanitizer
61 -DUNIT_TESTING=ON .. &&
62 make -j$(nproc) && ctest --output-on-failure
73 fedora/undefined-sanitizer:
75 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
77 - mkdir -p obj && cd obj && cmake
78 -DCMAKE_BUILD_TYPE=UndefinedSanitizer
80 && make -j$(nproc) && ctest --output-on-failure
91 # realpath() doesn't work with libtsan and returns EINVAL
93 # fedora/thread-sanitizer:
94 tumbleweed/thread-sanitizer:
96 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
98 - mkdir -p obj && cd obj && cmake
99 -DCMAKE_BUILD_TYPE=ThreadSanitizer
101 -DUNIT_TESTING=ON .. &&
102 make -j$(nproc) && ctest --output-on-failure
115 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
118 if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
119 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
122 # Check if the commit exists in this branch
123 # This is not the case for a force push
124 git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null ||
125 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
127 export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
130 --build-dir=obj-csbuild
131 --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
132 --build-cmd "make clean && make -j$(nproc)"
133 --git-commit-range $CI_COMMIT_RANGE
135 --print-current --print-fixed
150 - mkdir -p obj && cd obj && cmake
151 -DCMAKE_BUILD_TYPE=RelWithDebInfo
153 -DUNIT_TESTING=ON .. &&
154 make && ctest --output-on-failure
160 - branches@cwrap/socket_wrapper
161 - branches@cryptomilk/socket_wrapper
162 - branches@metze/socket_wrapper
169 tumbleweed/x86_64/gcc:
171 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
173 - mkdir -p obj && cd obj && cmake
174 -DCMAKE_BUILD_TYPE=RelWithDebInfo
176 -DUNIT_TESTING=ON .. &&
177 make -j$(nproc) && ctest --output-on-failure
188 tumbleweed/x86_64/gcc7:
190 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
192 - mkdir -p obj && cd obj && cmake
193 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
194 -DCMAKE_BUILD_TYPE=RelWithDebInfo
196 -DUNIT_TESTING=ON .. &&
197 make -j$(nproc) && ctest --output-on-failure
208 tumbleweed/x86_64/clang:
210 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
212 - mkdir -p obj && cd obj && cmake
213 -DCMAKE_BUILD_TYPE=RelWithDebInfo
214 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
216 -DUNIT_TESTING=ON .. &&
217 make -j$(nproc) && ctest --output-on-failure
230 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
232 - mkdir -p obj && cd obj && cmake
233 -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-m32.cmake
234 -DCMAKE_BUILD_TYPE=RelWithDebInfo
236 -DUNIT_TESTING=ON .. &&
237 make -j$(nproc) && ctest --output-on-failure
248 tumbleweed/static-analysis:
250 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
252 - export CCC_CC=clang
253 - export CCC_CXX=clang++
254 - mkdir -p obj && cd obj && scan-build cmake
255 -DCMAKE_BUILD_TYPE=Debug
256 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
258 -DUNIT_TESTING=ON .. &&
259 scan-build --status-bugs -o scan make -j$(nproc)
272 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
274 - mkdir -p obj && cd obj && cmake
275 -DCMAKE_BUILD_TYPE=Debug
278 -DHELGRIND_TESTING=ON .. &&
279 make -j$(nproc) && ctest --output-on-failure
291 - $VALGRIND_SUPPORTS_FORKED_MUTEXES == "yes"
295 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$UBUNTU_BUILD
297 - mkdir -p obj && cd obj && cmake
298 -DCMAKE_BUILD_TYPE=RelWithDebInfo
300 -DUNIT_TESTING=ON .. &&
301 make -j$(nproc) && ctest --output-on-failure
314 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$UBUNTU32_BUILD
316 - mkdir -p obj && cd obj && cmake
317 -DCMAKE_BUILD_TYPE=RelWithDebInfo
319 -DUNIT_TESTING=ON .. &&
320 make -j$(nproc) && ctest --output-on-failure