tests: Add test_res_fake_uri_nsearch()
[resolv_wrapper.git] / .gitlab-ci.yml
1 variables:
2   GIT_DEPTH: 3
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
9
10 centos7/x86_64:
11   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
12   script:
13   - mkdir -p obj && cd obj && cmake3
14     -DCMAKE_BUILD_TYPE=RelWithDebInfo
15     -DPICKY_DEVELOPER=ON
16     -DUNIT_TESTING=ON .. &&
17     make -j$(nproc) && ctest --output-on-failure
18   tags:
19   - shared
20   except:
21   - tags
22   artifacts:
23     expire_in: 1 week
24     when: on_failure
25     paths:
26       - obj/
27
28 fedora/x86_64:
29   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
30   script:
31   - mkdir -p obj && cd obj && cmake
32     -DCMAKE_INSTALL_PREFIX=/tmp/local
33     -DCMAKE_BUILD_TYPE=RelWithDebInfo
34     -DPICKY_DEVELOPER=ON
35     -DUNIT_TESTING=ON .. &&
36     make -j$(nproc) && ctest --output-on-failure && make install
37   tags:
38   - shared
39   except:
40   - tags
41   artifacts:
42     expire_in: 1 week
43     when: on_failure
44     paths:
45       - obj/
46
47 fedora/address-sanitizer:
48   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
49   script:
50   - mkdir -p obj && cd obj && cmake
51     -DCMAKE_BUILD_TYPE=AddressSanitizer
52     -DPICKY_DEVELOPER=ON
53     -DUNIT_TESTING=ON .. &&
54     make -j$(nproc) && ctest --output-on-failure
55   tags:
56   - shared
57   except:
58   - tags
59   artifacts:
60     expire_in: 1 week
61     when: on_failure
62     paths:
63       - obj/
64
65 fedora/undefined-sanitizer:
66   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
67   script:
68   - mkdir -p obj && cd obj && cmake
69     -DCMAKE_BUILD_TYPE=UndefinedSanitizer
70     -DPICKY_DEVELOPER=ON
71     -DUNIT_TESTING=ON ..
72     && make -j$(nproc) && ctest --output-on-failure
73   tags:
74   - shared
75   except:
76   - tags
77   artifacts:
78     expire_in: 1 week
79     when: on_failure
80     paths:
81       - obj/
82
83 fedora/csbuild:
84   variables:
85     GIT_DEPTH: 20
86   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
87   script:
88   - |
89     if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
90         export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~15")
91     fi
92
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")
96
97     export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
98
99   - csbuild
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
104     --color
105     --print-current --print-fixed
106   tags:
107   - shared
108   except:
109   - tags
110   artifacts:
111     expire_in: 1 week
112     when: on_failure
113     paths:
114       - obj-csbuild/
115
116 freebsd/x86_64:
117   image:
118   script:
119   - mkdir -p obj && cd obj && cmake
120     -DCMAKE_BUILD_TYPE=RelWithDebInfo
121     -DPICKY_DEVELOPER=ON
122     -DUNIT_TESTING=ON .. &&
123     make && ctest --output-on-failure
124   tags:
125   - freebsd
126   except:
127   - tags
128   only:
129   - branches@cwrap/resolv_wrapper
130   - branches@cryptomilk/resolv_wrapper
131   - branches@metze/resolv_wrapper
132   artifacts:
133     expire_in: 1 week
134     when: on_failure
135     paths:
136       - obj/
137
138 tumbleweed/x86_64/gcc:
139   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
140   script:
141   - mkdir -p obj && cd obj && cmake
142     -DCMAKE_BUILD_TYPE=RelWithDebInfo
143     -DPICKY_DEVELOPER=ON
144     -DUNIT_TESTING=ON .. &&
145     make -j$(nproc) && ctest --output-on-failure
146   tags:
147   - shared
148   except:
149   - tags
150   artifacts:
151     expire_in: 1 week
152     when: on_failure
153     paths:
154       - obj/
155
156 tumbleweed/x86_64/gcc7:
157   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
158   script:
159   - mkdir -p obj && cd obj && cmake
160     -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
161     -DCMAKE_BUILD_TYPE=RelWithDebInfo
162     -DPICKY_DEVELOPER=ON
163     -DUNIT_TESTING=ON .. &&
164     make -j$(nproc) && ctest --output-on-failure
165   tags:
166   - shared
167   except:
168   - tags
169   artifacts:
170     expire_in: 1 week
171     when: on_failure
172     paths:
173       - obj/
174
175 tumbleweed/x86_64/clang:
176   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
177   script:
178   - mkdir -p obj && cd obj && cmake
179     -DCMAKE_BUILD_TYPE=RelWithDebInfo
180     -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
181     -DPICKY_DEVELOPER=ON
182     -DUNIT_TESTING=ON .. &&
183     make -j$(nproc) && ctest --output-on-failure
184   tags:
185   - shared
186   except:
187   - tags
188   artifacts:
189     expire_in: 1 week
190     when: on_failure
191     paths:
192       - obj/
193
194 tumbleweed/static-analysis:
195   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
196   script:
197   - export CCC_CC=clang
198   - export CCC_CXX=clang++
199   - mkdir -p obj && cd obj && scan-build cmake
200     -DCMAKE_BUILD_TYPE=Debug
201     -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
202     -DPICKY_DEVELOPER=ON
203     -DUNIT_TESTING=ON .. &&
204     scan-build --status-bugs -o scan make -j$(nproc)
205   tags:
206   - shared
207   except:
208   - tags
209   artifacts:
210     expire_in: 1 week
211     when: on_failure
212     paths:
213       - obj/scan
214
215 ubuntu/x86_64:
216   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$UBUNTU_BUILD
217   script:
218   - mkdir -p obj && cd obj && cmake
219     -DCMAKE_BUILD_TYPE=RelWithDebInfo
220     -DPICKY_DEVELOPER=ON
221     -DUNIT_TESTING=ON .. &&
222     make -j$(nproc) && ctest --output-on-failure
223   tags:
224   - shared
225   except:
226   - tags
227   artifacts:
228     expire_in: 1 week
229     when: on_failure
230     paths:
231       - obj/