]>
Commit | Line | Data |
---|---|---|
fbd89850 PD |
1 | version: 2.1 |
2 | ||
3 | commands: | |
85277158 PL |
4 | checkout-shallow: |
5 | description: "Do a shallow checkout of the repository" | |
6 | steps: | |
7 | - run: | |
8 | name: Install git and openssh | |
9 | command: apt-get update && apt-get -qq -y install openssh-client git | |
10 | - run: | |
11 | name: Store the keyid for the git repo | |
12 | command: mkdir -p $HOME/.ssh && ssh-keyscan $(echo ${CIRCLE_REPOSITORY_URL} | sed 's,.*@\([^:]*\):.*,\1,') > $HOME/.ssh/known_hosts | |
13 | - run: | |
14 | name: Clone the repo | |
2045291c | 15 | command: | |
06fde25c | 16 | mkdir -p /opt/project |
2045291c KH |
17 | if [ -n "$CIRCLE_PR_NUMBER" ] |
18 | then | |
19 | echo === Checking out PR "$CIRCLE_PR_NUMBER" from "$CIRCLE_REPOSITORY_URL" | |
06fde25c PD |
20 | git clone --depth 1 $CIRCLE_REPOSITORY_URL /opt/project |
21 | cd /opt/project | |
2045291c KH |
22 | git fetch --depth 1 origin +refs/pull/${CIRCLE_PR_NUMBER}/merge |
23 | git checkout -qf FETCH_HEAD | |
24 | else | |
25 | echo === Checking out branch "${CIRCLE_BRANCH}" from "$CIRCLE_REPOSITORY_URL" | |
06fde25c | 26 | git clone --depth 1 --branch $CIRCLE_BRANCH $CIRCLE_REPOSITORY_URL /opt/project |
2045291c | 27 | fi |
06fde25c | 28 | cd /opt/project |
bf0e6ec0 | 29 | git --no-pager show -s |
85277158 | 30 | |
06fde25c PD |
31 | get-workspace: |
32 | description: "Attach workspace to /opt and symlink checkout into home" | |
33 | steps: | |
34 | - run: | |
35 | name: ensure ca-certificates is installed | |
36 | command: apt-get update && apt-get -qq -y install ca-certificates | |
37 | - attach_workspace: | |
38 | at: /opt | |
39 | - run: | |
40 | name: symlink checkout into home | |
41 | command: rmdir ~/project && ln -s /opt/project ~/project | |
294df2f7 OM |
42 | - run: |
43 | name: include $BASH_ENV for both interactive and non-interactive shells | |
44 | command: echo '. $BASH_ENV' >> $HOME/.bashrc | |
06fde25c | 45 | |
af86cfbc YN |
46 | install-clang-8: |
47 | description: install clang-8 from backports | |
48 | steps: | |
49 | - run: | |
50 | name: add backports and install clang-8 | |
51 | command: | | |
52 | echo 'deb http://deb.debian.org/debian buster-backports main' > /etc/apt/sources.list.d/backports.list | |
53 | apt-get update | |
7e377c44 | 54 | apt-get -qq -t buster-backports --no-install-recommends install clang-8 llvm-8 |
af86cfbc | 55 | |
77ce34c6 | 56 | # FIXME: the build-essential wart below is misformatted intentionally to remind us to replace the remotebackend testing deps with Debian packages |
2bfa1796 PL |
57 | auth-regress-setup: |
58 | description: Prepare the environment for auth regression tests | |
fbd89850 | 59 | steps: |
06fde25c | 60 | - get-workspace |
2bfa1796 | 61 | - install-auth-deps |
1d320e25 | 62 | - install-clang-8 # for the symbolizer |
85277158 PL |
63 | - run: |
64 | name: Install test dependencies | |
65 | command: | | |
66 | apt-get -y -qq install \ | |
3815cfdb | 67 | authbind \ |
85277158 PL |
68 | bc \ |
69 | bind9utils \ | |
77ce34c6 | 70 | build-essential libsqlite3-dev libzmq3-dev \ |
d1986d2f | 71 | curl \ |
85277158 PL |
72 | default-jre-headless \ |
73 | dnsutils \ | |
77ce34c6 | 74 | gawk \ |
3815cfdb | 75 | git \ |
85277158 | 76 | ldnsutils \ |
e9b496b9 | 77 | libnet-dns-perl \ |
9945c90b | 78 | pdns-recursor \ |
77ce34c6 PD |
79 | socat \ |
80 | sqlite3 \ | |
85277158 | 81 | unbound-host |
2bfa1796 PL |
82 | - run: |
83 | name: Install jdnssectools | |
84 | command: | | |
294df2f7 | 85 | if [ ! -e $HOME/bin/jdnssec-verifyzone ]; then |
2bfa1796 PL |
86 | apt-get install -qq -y wget |
87 | wget https://github.com/dblacka/jdnssec-tools/releases/download/0.14/jdnssec-tools-0.14.tar.gz | |
294df2f7 | 88 | tar xfz jdnssec-tools-0.14.tar.gz -C $HOME |
2bfa1796 PL |
89 | rm jdnssec-tools-0.14.tar.gz |
90 | fi | |
294df2f7 | 91 | echo 'export PATH=$HOME/jdnssec-tools-0.14/bin:$PATH' >> $BASH_ENV |
7cc012b7 PL |
92 | - run: |
93 | name: Allow missing tools in verify-dnssec-zone | |
94 | command: touch regression-tests/tests/verify-dnssec-zone/allow-missing | |
9945c90b PD |
95 | - run: |
96 | name: Start PowerDNS Recursor in the background | |
97 | command: pdns_recursor | |
98 | background: true | |
3815cfdb PD |
99 | - run: |
100 | name: Set up authbind | |
101 | command: | | |
102 | touch /etc/authbind/byport/53 | |
103 | chmod 755 /etc/authbind/byport/53 | |
2bfa1796 PL |
104 | |
105 | auth-regress: | |
106 | description: Run one auth regression context | |
107 | parameters: | |
108 | skip: | |
109 | type: string | |
110 | default: "" | |
8f1ac516 PL |
111 | rootskip: |
112 | type: string | |
113 | default: "" | |
3001deca PL |
114 | doroot: |
115 | type: boolean | |
116 | default: true | |
2bfa1796 PL |
117 | context: |
118 | type: string | |
119 | default: "" | |
120 | prefix: | |
121 | type: string | |
122 | default: "/opt/pdns-auth/" | |
123 | steps: | |
85277158 PL |
124 | - run: |
125 | workdir: ~/project/regression-tests | |
126 | name: Run << parameters.context >> tests | |
127 | command: | | |
128 | [ -e ./vars ] && . ./vars | |
294df2f7 | 129 | export |
85277158 PL |
130 | rm -rf tests/*/skip |
131 | for t in << parameters.skip >> | |
132 | do | |
133 | touch tests/$t/skip | |
134 | done | |
135 | PDNS=<< parameters.prefix >>sbin/pdns_server \ | |
136 | PDNS2=<< parameters.prefix >>sbin/pdns_server \ | |
137 | SDIG=<< parameters.prefix >>bin/sdig \ | |
138 | NOTIFY=<< parameters.prefix >>bin/pdns_notify \ | |
139 | NSEC3DIG=<< parameters.prefix >>bin/nsec3dig \ | |
140 | SAXFR=<< parameters.prefix >>bin/saxfr \ | |
141 | ZONE2SQL=<< parameters.prefix >>bin/zone2sql \ | |
8f1ac516 PL |
142 | ZONE2LDAP=<< parameters.prefix >>bin/zone2ldap \ |
143 | PDNSUTIL=<< parameters.prefix >>bin/pdnsutil \ | |
144 | PDNSCONTROL=<< parameters.prefix >>bin/pdns_control \ | |
9945c90b | 145 | RESOLVERIP=127.0.0.1 \ |
8f1ac516 | 146 | ./start-test-stop 5300 << parameters.context >> |
3001deca PL |
147 | - when: |
148 | condition: << parameters.doroot >> | |
149 | steps: | |
150 | - run: | |
151 | workdir: ~/project/regression-tests.rootzone | |
152 | name: Run << parameters.context >> tests for the root zone | |
153 | command: | | |
154 | [ -e ../regression-tests/vars ] && . ../regression-tests/vars | |
155 | rm -rf tests/*/skip | |
156 | for t in << parameters.rootskip >> | |
157 | do | |
158 | touch tests/$t/skip | |
159 | done | |
160 | PDNS=<< parameters.prefix >>sbin/pdns_server \ | |
161 | PDNS2=<< parameters.prefix >>sbin/pdns_server \ | |
162 | SDIG=<< parameters.prefix >>bin/sdig \ | |
163 | NOTIFY=<< parameters.prefix >>bin/pdns_notify \ | |
164 | NSEC3DIG=<< parameters.prefix >>bin/nsec3dig \ | |
165 | SAXFR=<< parameters.prefix >>bin/saxfr \ | |
166 | ZONE2SQL=<< parameters.prefix >>bin/zone2sql \ | |
167 | ZONE2LDAP=<< parameters.prefix >>bin/zone2ldap \ | |
168 | PDNSUTIL=<< parameters.prefix >>bin/pdnsutil \ | |
169 | PDNSCONTROL=<< parameters.prefix >>bin/pdns_control \ | |
9945c90b | 170 | RESOLVERIP=127.0.0.1 \ |
3001deca | 171 | ./start-test-stop 5300 << parameters.context >> |
fbd89850 | 172 | |
85277158 PL |
173 | install-auth-deps: |
174 | description: Install all libraries needed to run the auth | |
175 | steps: | |
176 | - run: | | |
177 | apt-get install -qq -y --no-install-recommends \ | |
77ce34c6 | 178 | default-libmysqlclient-dev \ |
85277158 | 179 | libboost-all-dev \ |
8b20e344 | 180 | libcdb1 \ |
4854160f | 181 | libcurl4 \ |
77ce34c6 | 182 | libgeoip1 \ |
1d353ed5 PL |
183 | libkrb5-3 \ |
184 | libldap-2.4-2 \ | |
4528f4cc | 185 | liblmdb0 \ |
73a5ca0d | 186 | libluajit-5.1-2 \ |
77ce34c6 | 187 | libmaxminddb0 \ |
66ab6b45 | 188 | libp11-kit0 \ |
d2cb3584 | 189 | libpq5 \ |
294df2f7 | 190 | libsodium23 \ |
77ce34c6 | 191 | libssl1.1 \ |
85277158 | 192 | libsystemd0 \ |
77ce34c6 PD |
193 | libyaml-cpp0.6 \ |
194 | softhsm2 \ | |
195 | unixodbc | |
85277158 | 196 | |
44637a00 PD |
197 | install-dnsdist-deps: |
198 | description: "Install all libraries needed for testing dnsdist" | |
199 | steps: | |
200 | - run: apt-get update | |
201 | - run: | |
202 | command: | | |
203 | apt-get install -qq -y \ | |
73a5ca0d | 204 | libluajit-5.1-2 \ |
44637a00 PD |
205 | libboost-all-dev \ |
206 | libcap2 \ | |
60fb9966 | 207 | libcdb1 \ |
44637a00 PD |
208 | libcurl4-openssl-dev \ |
209 | libfstrm0 \ | |
3abaddf6 | 210 | libgnutls30 \ |
44637a00 | 211 | libh2o-evloop0.13 \ |
60fb9966 | 212 | liblmdb0 \ |
e95fabda | 213 | libnghttp2-dev \ |
44637a00 PD |
214 | libre2-5 \ |
215 | libssl-dev \ | |
216 | libsystemd0 \ | |
217 | libsodium23 \ | |
c17a2921 | 218 | patch \ |
a3dc7da1 | 219 | protobuf-compiler \ |
98508251 | 220 | python3-venv |
44637a00 | 221 | |
85277158 PL |
222 | install-auth-dev-deps: |
223 | description: Install all packages needed to build the auth | |
224 | steps: | |
225 | - run: apt-get update | |
226 | - run: | |
227 | command: | | |
228 | apt-get install -qq -y --no-install-recommends \ | |
229 | autoconf \ | |
230 | automake \ | |
231 | bison \ | |
ad5b67b0 PL |
232 | bzip2 \ |
233 | curl \ | |
85277158 PL |
234 | default-libmysqlclient-dev \ |
235 | flex \ | |
236 | g++ \ | |
237 | git \ | |
238 | libboost-all-dev \ | |
8b20e344 | 239 | libcdb-dev \ |
4854160f | 240 | libcurl4-openssl-dev \ |
77ce34c6 | 241 | libgeoip-dev \ |
1d353ed5 PL |
242 | libkrb5-dev \ |
243 | libldap2-dev \ | |
4528f4cc | 244 | liblmdb-dev \ |
4854160f | 245 | libluajit-5.1-dev \ |
77ce34c6 | 246 | libmaxminddb-dev \ |
66ab6b45 | 247 | libp11-kit-dev \ |
d2cb3584 | 248 | libpq-dev \ |
bf8cbec1 | 249 | libsodium-dev \ |
80e2a9ef | 250 | libsqlite3-dev \ |
d2cb3584 | 251 | libssl-dev \ |
0e0e64f0 | 252 | libsystemd-dev \ |
85277158 | 253 | libtool \ |
26c5a7f9 | 254 | libyaml-cpp-dev \ |
77ce34c6 | 255 | libzmq3-dev \ |
85277158 PL |
256 | make \ |
257 | pkg-config \ | |
77ce34c6 | 258 | python3-venv \ |
85277158 | 259 | ragel \ |
77ce34c6 PD |
260 | ruby-bundler \ |
261 | ruby2.5-dev \ | |
85277158 | 262 | sqlite3 \ |
0e0e64f0 | 263 | systemd \ |
85277158 | 264 | unixodbc-dev \ |
85277158 PL |
265 | wget |
266 | ||
36d385ad PL |
267 | add-auth-repo: |
268 | description: "Add the debian repo for the auth" | |
269 | parameters: | |
270 | version: | |
271 | type: string | |
2d0fc474 | 272 | default: "45" |
36d385ad PL |
273 | distro: |
274 | type: string | |
275 | default: "debian" | |
276 | release: | |
277 | type: string | |
294df2f7 | 278 | default: "buster" |
36d385ad PL |
279 | steps: |
280 | - run: | |
281 | name: "Install dependencies" | |
282 | command: "apt-get update && apt-get install -qq -y curl gnupg2" | |
283 | - run: | |
284 | name: "Install apt-keys" | |
285 | command: | | |
286 | if [ "<< parameters.version >>" = "master" ]; then | |
1405d250 | 287 | curl https://repo.powerdns.com/CBC8B383-pub.asc -o /etc/apt/trusted.gpg.d/CBC8B383-pub.asc |
36d385ad | 288 | else |
1405d250 | 289 | curl https://repo.powerdns.com/FD380FBB-pub.asc -o /etc/apt/trusted.gpg.d/FD380FBB-pub.asc |
36d385ad PL |
290 | fi |
291 | - run: | |
292 | name: "Add repository" | |
293 | command: | | |
294 | echo 'deb [arch=amd64] http://repo.powerdns.com/<< parameters.distro >> << parameters.release >>-auth-<< parameters.version>> main' >> /etc/apt/sources.list.d/pdns.list | |
295 | - run: | |
296 | name: "add pinning" | |
297 | command: | | |
298 | echo 'Package: pdns-*' > /etc/apt/preferences.d/pdns | |
299 | echo 'Pin: origin repo.powerdns.com' >> /etc/apt/preferences.d/pdns | |
300 | echo 'Pin-Priority: 600' >> /etc/apt/preferences.d/pdns | |
301 | - run: | |
302 | name: update apt cache | |
303 | command: apt-get update | |
304 | ||
85277158 PL |
305 | setup-ccache: |
306 | description: Install .ccache and set $PATH | |
307 | steps: | |
308 | - run: | |
309 | name: Install ccache | |
310 | command: apt-get update && apt-get -qq -y install ccache | |
311 | - run: | |
312 | name: Setup ccache in $PATH | |
313 | command: echo 'export PATH=/usr/lib/ccache:$PATH' >> $BASH_ENV | |
314 | ||
12538b7a PL |
315 | save-ccache-cache: |
316 | description: Store the .ccache directory | |
317 | parameters: | |
318 | product: | |
319 | type: string | |
320 | default: "" | |
321 | steps: | |
322 | - save_cache: | |
323 | key: ccache-cache-{{ arch }}-<< parameters.product >>-{{ .Branch }} | |
324 | paths: | |
325 | - ~/.ccache | |
326 | ||
327 | restore-cache-ccache: | |
328 | description: Restore the .ccache directory | |
329 | parameters: | |
330 | product: | |
331 | type: string | |
332 | default: "" | |
333 | steps: | |
85277158 | 334 | - setup-ccache |
12538b7a PL |
335 | - run: |
336 | name: ensure ca-certificates is installed | |
337 | command: apt-get update && apt-get -qq -y install ca-certificates | |
338 | - restore_cache: | |
339 | keys: | |
340 | - ccache-cache-{{ arch }}-<< parameters.product >>-{{ .Branch }} | |
85277158 | 341 | - ccache-cache-{{ arch }}-<< parameters.product >>- |
12538b7a | 342 | |
fbd89850 | 343 | jobs: |
06fde25c | 344 | checkout: |
9ec5537e PD |
345 | resource_class: small |
346 | ||
06fde25c PD |
347 | docker: |
348 | - image: debian:buster | |
d0b6ba23 PD |
349 | auth: |
350 | username: powerdnsreadonly | |
351 | password: $DOCKERHUB_PASSWORD | |
06fde25c PD |
352 | |
353 | steps: | |
354 | - checkout-shallow | |
355 | - persist_to_workspace: | |
356 | root: /opt | |
357 | paths: | |
358 | - project | |
359 | ||
1d8e4b3c | 360 | build-auth: |
fbd89850 | 361 | docker: |
294df2f7 | 362 | - image: debian:buster |
d0b6ba23 PD |
363 | auth: |
364 | username: powerdnsreadonly | |
365 | password: $DOCKERHUB_PASSWORD | |
bdecec8d PD |
366 | environment: |
367 | UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' | |
037a3635 | 368 | ASAN_OPTIONS: detect_leaks=0 |
fbd89850 | 369 | steps: |
06fde25c | 370 | - get-workspace |
85277158 | 371 | - install-auth-dev-deps |
af86cfbc | 372 | - install-clang-8 |
85277158 PL |
373 | - restore-cache-ccache: |
374 | product: auth | |
fbd89850 PD |
375 | - run: |
376 | name: autoconf | |
85277158 | 377 | command: BUILDER_VERSION=0.0.0-git1 autoreconf -vfi |
fbd89850 PD |
378 | - run: |
379 | name: configure | |
85277158 | 380 | command: | |
af86cfbc YN |
381 | CC='clang-8' \ |
382 | CXX='clang++-8' \ | |
383 | CFLAGS="-O1 -Werror=vla -Werror=shadow -Wformat=2 -Werror=format-security -Werror=string-plus-int" \ | |
384 | CXXFLAGS="-O1 -Werror=vla -Werror=shadow -Wformat=2 -Werror=format-security -Werror=string-plus-int -Wp,-D_GLIBCXX_ASSERTIONS" \ | |
85277158 | 385 | ./configure \ |
6646a30f | 386 | --enable-option-checking=fatal \ |
9a205757 | 387 | --with-modules='bind geoip gmysql godbc gpgsql gsqlite3 ldap lmdb lua2 pipe remote tinydns' \ |
0e0e64f0 | 388 | --enable-systemd \ |
85277158 | 389 | --enable-tools \ |
bba5f1bb RG |
390 | --enable-unit-tests \ |
391 | --enable-backend-unit-tests \ | |
5ca439f1 | 392 | --enable-fuzz-targets \ |
66ab6b45 | 393 | --enable-experimental-pkcs11 \ |
77ce34c6 | 394 | --enable-remotebackend-zeromq \ |
4528f4cc | 395 | --with-lmdb=/usr \ |
bf8cbec1 | 396 | --with-libsodium \ |
26c5a7f9 | 397 | --prefix=/opt/pdns-auth \ |
bdecec8d PD |
398 | --enable-ixfrdist \ |
399 | --enable-asan \ | |
400 | --enable-ubsan | |
fbd89850 PD |
401 | - run: |
402 | name: build | |
403 | command: make -j3 -k | |
85277158 PL |
404 | - save-ccache-cache: |
405 | product: auth | |
406 | - run: | |
407 | name: Install the binaries | |
408 | command: make install | |
409 | - persist_to_workspace: | |
410 | root: /opt | |
411 | paths: | |
412 | - pdns-auth | |
fbd89850 | 413 | |
85277158 | 414 | test-auth-regress-odbc-sqlite3: |
9ec5537e PD |
415 | resource_class: small |
416 | ||
85277158 | 417 | docker: |
294df2f7 | 418 | - image: debian:buster |
d0b6ba23 PD |
419 | auth: |
420 | username: powerdnsreadonly | |
421 | password: $DOCKERHUB_PASSWORD | |
bdecec8d PD |
422 | environment: |
423 | UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' | |
037a3635 | 424 | ASAN_OPTIONS: detect_leaks=0 |
85277158 | 425 | steps: |
2bfa1796 | 426 | - auth-regress-setup |
85277158 PL |
427 | - run: |
428 | name: Configure ODBC for sqlite | |
429 | command: | | |
430 | cat >> ~/.odbc.ini \<<- __EOF__ | |
431 | [pdns-sqlite3-1] | |
432 | Driver = SQLite3 | |
433 | Database = ${PWD}/regression-tests/pdns.sqlite3 | |
434 | [pdns-sqlite3-2] | |
435 | Driver = SQLite3 | |
436 | Database = ${PWD}/regression-tests/pdns.sqlite32 | |
437 | __EOF__ | |
fbd89850 | 438 | - run: |
85277158 PL |
439 | name: Install ODBC deps |
440 | command: | | |
441 | apt-get install -qq -y \ | |
442 | unixodbc \ | |
77ce34c6 | 443 | libsqliteodbc |
85277158 | 444 | - run: |
2bfa1796 PL |
445 | name: Set up sqlite3 odbc testing |
446 | command: echo 'export GODBC_SQLITE3_DSN=pdns-sqlite3-1' > ./vars | |
85277158 | 447 | workdir: ~/project/regression-tests |
2bfa1796 PL |
448 | - auth-regress: |
449 | context: godbc_sqlite3-nsec3 | |
3001deca | 450 | doroot: false # Broken at the moment |
fbd89850 | 451 | |
85277158 PL |
452 | test-auth-regress-odbc-mssql: |
453 | docker: | |
294df2f7 | 454 | - image: debian:buster |
d0b6ba23 PD |
455 | auth: |
456 | username: powerdnsreadonly | |
457 | password: $DOCKERHUB_PASSWORD | |
bdecec8d PD |
458 | environment: |
459 | UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' | |
037a3635 | 460 | ASAN_OPTIONS: detect_leaks=0 |
ce4caef4 | 461 | - image: mcr.microsoft.com/mssql/server:2017-GA-ubuntu |
85277158 PL |
462 | environment: |
463 | - ACCEPT_EULA: Y | |
464 | - SA_PASSWORD: 'SAsa12%%' | |
465 | steps: | |
2bfa1796 | 466 | - auth-regress-setup |
85277158 PL |
467 | - run: |
468 | name: Install ODBC deps | |
469 | command: | | |
470 | apt-get install -qq -y \ | |
471 | freetds-bin \ | |
472 | tdsodbc \ | |
473 | unixodbc | |
fbd89850 PD |
474 | - run: |
475 | name: set up mssql odbc | |
85277158 PL |
476 | command: | |
477 | cat >> ~/.odbc.ini \<<- __EOF__ | |
478 | [pdns-mssql-docker] | |
479 | Driver=FreeTDS | |
480 | Trace=No | |
481 | Server=127.0.0.1 | |
482 | Port=1433 | |
483 | Database=pdns | |
484 | TDS_Version=7.1 | |
485 | [pdns-mssql-docker-nodb] | |
486 | Driver=FreeTDS | |
487 | Trace=No | |
488 | Server=127.0.0.1 | |
489 | Port=1433 | |
490 | TDS_Version=7.1 | |
491 | __EOF__ | |
492 | - run: | |
550b65b2 | 493 | command: cat /usr/share/tdsodbc/odbcinst.ini <(echo Threading=1) >> /etc/odbcinst.ini |
85277158 PL |
494 | - run: |
495 | name: create database | |
496 | command: echo 'create database pdns' | isql -v pdns-mssql-docker-nodb sa SAsa12%% | |
fbd89850 | 497 | - run: |
2bfa1796 | 498 | name: Set up mssql odbc testing |
85277158 PL |
499 | command: echo 'export GODBC_MSSQL_PASSWORD=SAsa12%% GODBC_MSSQL_USERNAME=sa GODBC_MSSQL_DSN=pdns-mssql-docker' > ./vars |
500 | workdir: ~/project/regression-tests | |
fbd89850 PD |
501 | - auth-regress: |
502 | context: godbc_mssql-nodnssec | |
503 | skip: 8bit-txt-unescaped | |
504 | - auth-regress: | |
505 | context: godbc_mssql | |
506 | skip: 8bit-txt-unescaped | |
507 | - auth-regress: | |
508 | context: godbc_mssql-nsec3 | |
509 | skip: 8bit-txt-unescaped | |
510 | - auth-regress: | |
511 | context: godbc_mssql-nsec3-optout | |
9955ccf6 | 512 | skip: 8bit-txt-unescaped |
fbd89850 PD |
513 | - auth-regress: |
514 | context: godbc_mssql-nsec3-narrow | |
515 | skip: 8bit-txt-unescaped | |
1d8e4b3c | 516 | |
b51a7f16 | 517 | test-auth-regress-bind: |
9ec5537e PD |
518 | resource_class: small |
519 | ||
b51a7f16 | 520 | docker: |
294df2f7 | 521 | - image: debian:buster |
d0b6ba23 PD |
522 | auth: |
523 | username: powerdnsreadonly | |
524 | password: $DOCKERHUB_PASSWORD | |
bdecec8d PD |
525 | environment: |
526 | UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' | |
037a3635 | 527 | ASAN_OPTIONS: detect_leaks=0 |
b5e12b95 PD |
528 | - image: mysql:5 # for the hybrid test |
529 | environment: | |
530 | MYSQL_ALLOW_EMPTY_PASSWORD: 1 | |
d0b6ba23 PD |
531 | auth: |
532 | username: powerdnsreadonly | |
533 | password: $DOCKERHUB_PASSWORD | |
b51a7f16 PL |
534 | steps: |
535 | - auth-regress-setup | |
536 | - run: | |
77ce34c6 | 537 | command: apt-get install -qq -y p11-kit softhsm2 |
a60b31f5 PD |
538 | - auth-regress: |
539 | context: bind-dnssec-pkcs11 | |
b51a7f16 PL |
540 | - run: |
541 | command: apt-get install -qq -y default-mysql-client | |
542 | - run: | |
543 | command: | | |
544 | cat >> ~/.my.cnf \<<- __EOF__ | |
545 | [client] | |
546 | protocol=TCP | |
547 | __EOF__ | |
294df2f7 OM |
548 | - run: |
549 | name: Set up mysql client lib to force TCP | |
6273e401 | 550 | command: echo 'export GMYSQLHOST=127.0.0.1' > ./vars |
0bbd0a64 | 551 | workdir: ~/project/regression-tests |
b51a7f16 PL |
552 | - auth-regress: |
553 | context: bind-hybrid-nsec3 | |
554 | ||
1d353ed5 | 555 | test-auth-regress-ldap: |
9ec5537e PD |
556 | resource_class: small |
557 | ||
1d353ed5 | 558 | docker: |
294df2f7 | 559 | - image: debian:buster |
d0b6ba23 PD |
560 | auth: |
561 | username: powerdnsreadonly | |
562 | password: $DOCKERHUB_PASSWORD | |
1d353ed5 PL |
563 | environment: |
564 | LDAPHOST: ldap://ldapserver/ | |
bdecec8d | 565 | UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' |
037a3635 | 566 | ASAN_OPTIONS: detect_leaks=0 |
a59037a6 | 567 | - image: powerdns/ldap-regress:1.2.4-1 # OpenLDAP 2.4.47 |
d0b6ba23 PD |
568 | auth: |
569 | username: powerdnsreadonly | |
570 | password: $DOCKERHUB_PASSWORD | |
1d353ed5 PL |
571 | name: ldapserver |
572 | command: '--loglevel debug' | |
573 | environment: | |
574 | LDAP_LOG_LEVEL: 0 | |
575 | steps: | |
576 | - auth-regress-setup | |
577 | - run: DEBIAN_FRONTEND=noninteractive apt-get install -qq -y ldap-utils | |
578 | - auth-regress: | |
579 | context: ldap-tree | |
580 | doroot: false | |
581 | - auth-regress: | |
582 | context: ldap-simple | |
583 | doroot: false | |
584 | - auth-regress: | |
585 | context: ldap-strict | |
586 | doroot: false | |
587 | ||
77ce34c6 PD |
588 | test-auth-regress-geoip: |
589 | resource_class: small | |
590 | ||
591 | docker: | |
592 | - image: debian:buster | |
593 | auth: | |
594 | username: powerdnsreadonly | |
595 | password: $DOCKERHUB_PASSWORD | |
bdecec8d PD |
596 | environment: |
597 | UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' | |
037a3635 | 598 | ASAN_OPTIONS: detect_leaks=0 |
77ce34c6 PD |
599 | steps: |
600 | - auth-regress-setup | |
77ce34c6 PD |
601 | - run: export geoipdatabase=../modules/geoipbackend/regression-tests/GeoLiteCity.mmdb |
602 | - auth-regress: | |
603 | context: geoip | |
604 | doroot: false | |
605 | ||
1d8e4b3c PL |
606 | workflows: |
607 | version: 2 | |
4dc779ef | 608 | |
7fff14ef | 609 | build-and-test-all: |
1d8e4b3c | 610 | jobs: |
06fde25c PD |
611 | - checkout |
612 | - build-auth: | |
613 | requires: | |
614 | - checkout | |
85277158 PL |
615 | - test-auth-regress-odbc-sqlite3: |
616 | requires: | |
617 | - build-auth | |
618 | - test-auth-regress-odbc-mssql: | |
619 | requires: | |
620 | - build-auth | |
77ce34c6 PD |
621 | - test-auth-regress-geoip: |
622 | requires: | |
623 | - build-auth | |
1d353ed5 PL |
624 | - test-auth-regress-ldap: |
625 | requires: | |
626 | - build-auth |