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_INSTALL_PREFIX=/tmp/local
33 -DCMAKE_BUILD_TYPE=RelWithDebInfo
35 -DUNIT_TESTING=ON .. &&
36 make -j$(nproc) && ctest --output-on-failure && make install
47 fedora/address-sanitizer:
48 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
50 - mkdir -p obj && cd obj && cmake
51 -DCMAKE_BUILD_TYPE=AddressSanitizer
53 -DUNIT_TESTING=ON .. &&
54 make -j$(nproc) && ctest --output-on-failure
65 fedora/undefined-sanitizer:
66 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
68 - mkdir -p obj && cd obj && cmake
69 -DCMAKE_BUILD_TYPE=UndefinedSanitizer
72 && make -j$(nproc) && ctest --output-on-failure
86 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
89 if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
90 export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~15")
93 # Check if the commit exists in this branch
94 # This is not the case for a force push
95 git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null || export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~15")
97 export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
100 --build-dir=obj-csbuild
101 --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
102 --build-cmd "make clean && make -j$(nproc)"
103 --git-commit-range $CI_COMMIT_RANGE
105 --print-current --print-fixed
119 - mkdir -p obj && cd obj && cmake
120 -DCMAKE_BUILD_TYPE=RelWithDebInfo
122 -DUNIT_TESTING=ON .. &&
123 make && ctest --output-on-failure
129 - branches@cwrap/resolv_wrapper
130 - branches@cryptomilk/resolv_wrapper
131 - branches@metze/resolv_wrapper
138 .Debian.cross.template: &Debian_cross_template
140 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_CROSS_BUILD
142 - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
143 - host="${CI_JOB_NAME#*.cross.}"
144 - mkdir -p obj && cd obj && cmake
145 -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-Debian-mips.cmake
146 -DCMAKE_BUILD_TYPE=RelWithDebInfo
147 -DUNIT_TESTING=ON .. && make -j$(nproc) &&
148 ctest --output-on-failure
159 Debian.cross.mips-linux-gnu:
160 <<: *Debian_cross_template
162 tumbleweed/x86_64/gcc:
163 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
165 - mkdir -p obj && cd obj && cmake
166 -DCMAKE_BUILD_TYPE=RelWithDebInfo
168 -DUNIT_TESTING=ON .. &&
169 make -j$(nproc) && ctest --output-on-failure
180 tumbleweed/x86_64/gcc7:
181 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
183 - mkdir -p obj && cd obj && cmake
184 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
185 -DCMAKE_BUILD_TYPE=RelWithDebInfo
187 -DUNIT_TESTING=ON .. &&
188 make -j$(nproc) && ctest --output-on-failure
199 tumbleweed/x86_64/clang:
200 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
202 - mkdir -p obj && cd obj && cmake
203 -DCMAKE_BUILD_TYPE=RelWithDebInfo
204 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
206 -DUNIT_TESTING=ON .. &&
207 make -j$(nproc) && ctest --output-on-failure
218 tumbleweed/static-analysis:
219 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
221 - export CCC_CC=clang
222 - export CCC_CXX=clang++
223 - mkdir -p obj && cd obj && scan-build cmake
224 -DCMAKE_BUILD_TYPE=Debug
225 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
227 -DUNIT_TESTING=ON .. &&
228 scan-build --status-bugs -o scan make -j$(nproc)