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 fedora/thread-sanitizer:
92 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
94 - export TSAN_OPTIONS=second_deadlock_stack=1
95 - mkdir -p obj && cd obj && cmake
96 -DCMAKE_BUILD_TYPE=ThreadSanitizer
98 -DUNIT_TESTING=ON .. &&
99 make -j$(nproc) && ctest --output-on-failure
112 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
115 if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
116 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
119 # Check if the commit exists in this branch
120 # This is not the case for a force push
121 git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null || export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
123 export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
126 --build-dir=obj-csbuild
127 --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
128 --build-cmd "make clean && make -j$(nproc)"
129 --git-commit-range $CI_COMMIT_RANGE
131 --print-current --print-fixed
146 - mkdir -p obj && cd obj && cmake
147 -DCMAKE_BUILD_TYPE=RelWithDebInfo
149 -DUNIT_TESTING=ON .. &&
150 make && ctest --output-on-failure
156 - branches@cwrap/nss_wrapper
157 - branches@cryptomilk/nss_wrapper
164 tumbleweed/x86_64/gcc:
166 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
168 - mkdir -p obj && cd obj && cmake
169 -DCMAKE_BUILD_TYPE=RelWithDebInfo
171 -DUNIT_TESTING=ON .. &&
172 make -j$(nproc) && ctest --output-on-failure
183 tumbleweed/x86_64/gcc7:
185 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
187 - mkdir -p obj && cd obj && cmake
188 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
189 -DCMAKE_BUILD_TYPE=RelWithDebInfo
191 -DUNIT_TESTING=ON .. &&
192 make -j$(nproc) && ctest --output-on-failure
203 tumbleweed/x86_64/clang:
205 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
207 - mkdir -p obj && cd obj && cmake
208 -DCMAKE_BUILD_TYPE=RelWithDebInfo
209 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
211 -DUNIT_TESTING=ON .. &&
212 make -j$(nproc) && ctest --output-on-failure
223 tumbleweed/static-analysis:
225 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
227 - export CCC_CC=clang
228 - export CCC_CXX=clang++
229 - mkdir -p obj && cd obj && scan-build cmake
230 -DCMAKE_BUILD_TYPE=Debug
231 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
233 -DUNIT_TESTING=ON .. &&
234 scan-build --status-bugs -o scan make -j$(nproc)
247 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$UBUNTU_BUILD
249 - mkdir -p obj && cd obj && cmake
250 -DCMAKE_BUILD_TYPE=RelWithDebInfo
252 -DUNIT_TESTING=ON .. && make -j$(nproc) && ctest --output-on-failure