4 BUILD_IMAGES_PROJECT: cmocka/gitlab-build-images
5 FEDORA_BUILD: buildenv-fedora
6 CENTOS7_BUILD: buildenv-centos7
7 TUMBLEWEED_BUILD: buildenv-tumbleweed
8 MINGW_BUILD: buildenv-mingw
9 UBUNTU_BUILD: buildenv-ubuntu
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_INSTALL_PREFIX=/tmp/local
41 -DCMAKE_BUILD_TYPE=RelWithDebInfo
43 -DUNIT_TESTING=ON .. &&
44 make -j$(nproc) && ctest --output-on-failure && make install
55 fedora/address-sanitizer:
57 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
59 - mkdir -p obj && cd obj && cmake
60 -DCMAKE_BUILD_TYPE=AddressSanitizer
62 -DUNIT_TESTING=ON .. &&
63 make -j$(nproc) && ctest --output-on-failure
74 fedora/undefined-sanitizer:
76 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
78 - mkdir -p obj && cd obj && cmake
79 -DCMAKE_BUILD_TYPE=UndefinedSanitizer
81 && make -j$(nproc) && ctest --output-on-failure
92 fedora/thread-sanitizer:
94 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
96 - mkdir -p obj && cd obj && cmake
97 -DCMAKE_BUILD_TYPE=ThreadSanitizer
99 -DUNIT_TESTING=ON .. &&
100 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}~15")
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 || export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~15")
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/uid_wrapper
160 - branches@cryptomilk/uid_wrapper
167 tumbleweed/x86_64/gcc:
169 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
171 - mkdir -p obj && cd obj && cmake
172 -DCMAKE_BUILD_TYPE=RelWithDebInfo
174 -DUNIT_TESTING=ON .. &&
175 make -j$(nproc) && ctest --output-on-failure
186 tumbleweed/x86_64/gcc7:
188 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
190 - mkdir -p obj && cd obj && cmake
191 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
192 -DCMAKE_BUILD_TYPE=RelWithDebInfo
194 -DUNIT_TESTING=ON .. &&
195 make -j$(nproc) && ctest --output-on-failure
206 tumbleweed/x86_64/clang:
208 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
210 - mkdir -p obj && cd obj && cmake
211 -DCMAKE_BUILD_TYPE=RelWithDebInfo
212 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
214 -DUNIT_TESTING=ON .. &&
215 make -j$(nproc) && ctest --output-on-failure
226 tumbleweed/static-analysis:
228 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
230 - export CCC_CC=clang
231 - export CCC_CXX=clang++
232 - mkdir -p obj && cd obj && scan-build cmake
233 -DCMAKE_BUILD_TYPE=Debug
234 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
236 -DUNIT_TESTING=ON .. &&
237 scan-build --status-bugs -o scan make -j$(nproc)
250 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$UBUNTU_BUILD
252 - mkdir -p obj && cd obj && cmake
253 -DCMAKE_BUILD_TYPE=RelWithDebInfo
255 -DUNIT_TESTING=ON .. &&
256 make -j$(nproc) && ctest --output-on-failure