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
92 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
95 if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
96 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
99 # Check if the commit exists in this branch
100 # This is not the case for a force push
101 git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null ||
102 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
104 export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
107 --build-dir=obj-csbuild
108 --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
109 --build-cmd "make clean && make -j$(nproc)"
110 --git-commit-range $CI_COMMIT_RANGE
112 --print-current --print-fixed
127 # - mkdir -p obj && cd obj && cmake
128 # -DCMAKE_BUILD_TYPE=RelWithDebInfo
129 # -DPICKY_DEVELOPER=ON
130 # -DUNIT_TESTING=ON .. &&
131 # make && ctest --output-on-failure
137 # - branches@cwrap/priv_wrapper
144 tumbleweed/x86_64/gcc:
146 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
148 - mkdir -p obj && cd obj && cmake
149 -DCMAKE_BUILD_TYPE=RelWithDebInfo
151 -DUNIT_TESTING=ON .. &&
152 make -j$(nproc) && ctest --output-on-failure
163 tumbleweed/x86_64/gcc7:
165 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
167 - mkdir -p obj && cd obj && cmake
168 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
169 -DCMAKE_BUILD_TYPE=RelWithDebInfo
171 -DUNIT_TESTING=ON .. &&
172 make -j$(nproc) && ctest --output-on-failure
183 tumbleweed/x86_64/clang:
185 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
187 - mkdir -p obj && cd obj && cmake
188 -DCMAKE_BUILD_TYPE=RelWithDebInfo
189 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
191 -DUNIT_TESTING=ON .. &&
192 make -j$(nproc) && ctest --output-on-failure
203 tumbleweed/static-analysis:
205 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
207 - export CCC_CC=clang
208 - export CCC_CXX=clang++
209 - mkdir -p obj && cd obj && scan-build cmake
210 -DCMAKE_BUILD_TYPE=Debug
211 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
213 -DUNIT_TESTING=ON .. &&
214 scan-build --status-bugs -o scan make -j$(nproc)
227 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
229 - mkdir -p obj && cd obj && cmake
230 -DCMAKE_BUILD_TYPE=Debug
233 -DHELGRIND_TESTING=ON .. &&
234 make -j$(nproc) && ctest --output-on-failure
246 - $VALGRIND_SUPPORTS_FORKED_MUTEXES == "yes"
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