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 DEBIAN_CROSS_BUILD: buildenv-debian-cross
11 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
13 - mkdir -p obj && cd obj && cmake3
14 -DCMAKE_BUILD_TYPE=RelWithDebInfo
16 -DUNIT_TESTING=ON .. &&
17 make -j$(nproc) && ctest --output-on-failure
29 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
31 - mkdir -p obj && cd obj && cmake
32 -DCMAKE_BUILD_TYPE=RelWithDebInfo
34 -DUNIT_TESTING=ON .. &&
35 make -j$(nproc) && ctest --output-on-failure
46 fedora/address-sanitizer:
47 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
49 - mkdir -p obj && cd obj && cmake
50 -DCMAKE_BUILD_TYPE=AddressSanitizer
52 -DUNIT_TESTING=ON .. &&
53 make -j$(nproc) && ctest --output-on-failure
64 fedora/undefined-sanitizer:
65 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
67 - mkdir -p obj && cd obj && cmake
68 -DCMAKE_BUILD_TYPE=UndefinedSanitizer
70 && make -j$(nproc) && ctest --output-on-failure
84 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
87 if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
88 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~15")
91 # Check if the commit exists in this branch
92 # This is not the case for a force push
93 git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null || export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~15")
95 export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
98 --build-dir=obj-csbuild
99 --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
100 --build-cmd "make clean && make -j$(nproc)"
101 --git-commit-range $CI_COMMIT_RANGE
103 --print-current --print-fixed
117 - mkdir -p obj && cd obj && cmake
118 -DCMAKE_BUILD_TYPE=RelWithDebInfo
120 -DUNIT_TESTING=ON .. &&
121 make && ctest --output-on-failure
127 - branches@cwrap/uid_wrapper
128 - branches@cryptomilk/uid_wrapper
135 .Debian.cross.template: &Debian_cross_template
137 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_CROSS_BUILD
139 - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
140 - host="${CI_JOB_NAME#*.cross.}"
141 - mkdir -p obj && cd obj && cmake
142 -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-Debian-mips.cmake
143 -DCMAKE_BUILD_TYPE=RelWithDebInfo
144 -DUNIT_TESTING=ON .. && make -j$(nproc) &&
145 ctest --output-on-failure
156 Debian.cross.mips-linux-gnu:
157 <<: *Debian_cross_template
159 tumbleweed/x86_64/gcc:
160 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
162 - mkdir -p obj && cd obj && cmake
163 -DCMAKE_BUILD_TYPE=RelWithDebInfo
165 -DUNIT_TESTING=ON .. &&
166 make -j$(nproc) && ctest --output-on-failure
177 tumbleweed/x86_64/gcc7:
178 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
180 - mkdir -p obj && cd obj && cmake
181 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
182 -DCMAKE_BUILD_TYPE=RelWithDebInfo
184 -DUNIT_TESTING=ON .. &&
185 make -j$(nproc) && ctest --output-on-failure
196 tumbleweed/x86_64/clang:
197 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
199 - mkdir -p obj && cd obj && cmake
200 -DCMAKE_BUILD_TYPE=RelWithDebInfo
201 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
203 -DUNIT_TESTING=ON .. &&
204 make -j$(nproc) && ctest --output-on-failure
215 tumbleweed/static-analysis:
216 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
218 - export CCC_CC=clang
219 - export CCC_CXX=clang++
220 - mkdir -p obj && cd obj && scan-build cmake
221 -DCMAKE_BUILD_TYPE=Debug
222 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
224 -DUNIT_TESTING=ON .. &&
225 scan-build --status-bugs -o scan make -j$(nproc)