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 DEBIAN_CROSS_BUILD: buildenv-debian-cross
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
81 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
84 if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
85 export CI_COMMIT_BEFORE_SHA=$(git rev-parse HEAD^)
88 # Check if the commit exists in this branch
89 # This is not the case for a force push
90 git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null || export CI_COMMIT_BEFORE_SHA=$(git rev-parse HEAD^)
92 export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
95 --build-dir=obj-csbuild
96 --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
97 --build-cmd "make clean && make -j$(nproc)"
98 --git-commit-range $CI_COMMIT_RANGE
100 --print-current --print-fixed
114 - mkdir -p obj && cd obj && cmake
115 -DCMAKE_BUILD_TYPE=RelWithDebInfo
117 -DUNIT_TESTING=ON .. &&
118 make && ctest --output-on-failure
124 - branches@cwrap/socket_wrapper
125 - branches@cryptomilk/socket_wrapper
132 .Debian.cross.template: &Debian_cross_template
134 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_CROSS_BUILD
136 - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
137 - host="${CI_JOB_NAME#*.cross.}"
138 - mkdir -p obj && cd obj && cmake
139 -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-Debian-mips.cmake
140 -DCMAKE_BUILD_TYPE=RelWithDebInfo
141 -DUNIT_TESTING=ON .. && make -j$(nproc) &&
142 ctest --output-on-failure
153 Debian.cross.mips-linux-gnu:
154 <<: *Debian_cross_template
156 tumbleweed/x86_64/gcc:
157 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
159 - mkdir -p obj && cd obj && cmake
160 -DCMAKE_BUILD_TYPE=RelWithDebInfo
162 -DUNIT_TESTING=ON .. &&
163 make -j$(nproc) && ctest --output-on-failure
174 tumbleweed/x86_64/gcc7:
175 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
177 - mkdir -p obj && cd obj && cmake
178 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
179 -DCMAKE_BUILD_TYPE=RelWithDebInfo
181 -DUNIT_TESTING=ON .. &&
182 make -j$(nproc) && ctest --output-on-failure
193 tumbleweed/x86_64/clang:
194 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
196 - mkdir -p obj && cd obj && cmake
197 -DCMAKE_BUILD_TYPE=RelWithDebInfo
198 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
200 -DUNIT_TESTING=ON .. &&
201 make -j$(nproc) && ctest --output-on-failure
212 tumbleweed/static-analysis:
213 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
215 - export CCC_CC=clang
216 - export CCC_CXX=clang++
217 - mkdir -p obj && cd obj && scan-build cmake
218 -DCMAKE_BUILD_TYPE=Debug
219 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
221 -DUNIT_TESTING=ON .. &&
222 scan-build --status-bugs -o scan make -j$(nproc)
234 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
236 - mkdir -p obj && cd obj && cmake
237 -DCMAKE_BUILD_TYPE=Debug
240 -DHELGRIND_TESTING=ON .. &&
241 make -j$(nproc) && ctest --output-on-failure