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 UBUNTU_BUILD: buildenv-ubuntu
10 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
12 - mkdir -p obj && cd obj && cmake3
13 -DCMAKE_BUILD_TYPE=RelWithDebInfo
15 -DUNIT_TESTING=ON .. &&
16 make -j$(nproc) && ctest --output-on-failure
28 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
30 - mkdir -p obj && cd obj && cmake
31 -DCMAKE_BUILD_TYPE=RelWithDebInfo
33 -DUNIT_TESTING=ON .. &&
34 make -j$(nproc) && ctest --output-on-failure
45 fedora/address-sanitizer:
46 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
48 - mkdir -p obj && cd obj && cmake
49 -DCMAKE_BUILD_TYPE=AddressSanitizer
51 -DUNIT_TESTING=ON .. &&
52 make -j$(nproc) && ctest --output-on-failure
63 fedora/undefined-sanitizer:
64 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
66 - mkdir -p obj && cd obj && cmake
67 -DCMAKE_BUILD_TYPE=UndefinedSanitizer
69 && make -j$(nproc) && ctest --output-on-failure
80 # realpath() doesn't work with libtsan and returns EINVAL
82 # fedora/thread-sanitizer:
83 tumbleweed/thread-sanitizer:
84 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
86 - mkdir -p obj && cd obj && cmake
87 -DCMAKE_BUILD_TYPE=ThreadSanitizer
89 -DUNIT_TESTING=ON .. &&
90 make -j$(nproc) && ctest --output-on-failure
102 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
105 if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
106 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
109 # Check if the commit exists in this branch
110 # This is not the case for a force push
111 git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null || export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
113 export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
116 --build-dir=obj-csbuild
117 --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
118 --build-cmd "make clean && make -j$(nproc)"
119 --git-commit-range $CI_COMMIT_RANGE
121 --print-current --print-fixed
135 - mkdir -p obj && cd obj && cmake
136 -DCMAKE_BUILD_TYPE=RelWithDebInfo
138 -DUNIT_TESTING=ON .. &&
139 make && ctest --output-on-failure
145 - branches@cwrap/socket_wrapper
146 - branches@cryptomilk/socket_wrapper
147 - branches@metze/socket_wrapper
154 tumbleweed/x86_64/gcc:
155 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
157 - mkdir -p obj && cd obj && cmake
158 -DCMAKE_BUILD_TYPE=RelWithDebInfo
160 -DUNIT_TESTING=ON .. &&
161 make -j$(nproc) && ctest --output-on-failure
172 tumbleweed/x86_64/gcc7:
173 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
175 - mkdir -p obj && cd obj && cmake
176 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
177 -DCMAKE_BUILD_TYPE=RelWithDebInfo
179 -DUNIT_TESTING=ON .. &&
180 make -j$(nproc) && ctest --output-on-failure
191 tumbleweed/x86_64/clang:
192 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
194 - mkdir -p obj && cd obj && cmake
195 -DCMAKE_BUILD_TYPE=RelWithDebInfo
196 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
198 -DUNIT_TESTING=ON .. &&
199 make -j$(nproc) && ctest --output-on-failure
210 tumbleweed/static-analysis:
211 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
213 - export CCC_CC=clang
214 - export CCC_CXX=clang++
215 - mkdir -p obj && cd obj && scan-build cmake
216 -DCMAKE_BUILD_TYPE=Debug
217 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
219 -DUNIT_TESTING=ON .. &&
220 scan-build --status-bugs -o scan make -j$(nproc)
232 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
234 - mkdir -p obj && cd obj && cmake
235 -DCMAKE_BUILD_TYPE=Debug
238 -DHELGRIND_TESTING=ON .. &&
239 make -j$(nproc) && ctest --output-on-failure
251 - $VALGRIND_SUPPORTS_FORKED_MUTEXES == "yes"
254 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$UBUNTU_BUILD
256 - mkdir -p obj && cd obj && cmake
257 -DCMAKE_BUILD_TYPE=RelWithDebInfo
259 -DUNIT_TESTING=ON .. &&
260 make -j$(nproc) && ctest --output-on-failure