9 - git describe --always --dirty=+
11 ### setup travis environment ###
12 - sudo sysctl net.ipv6.conf.lo.disable_ipv6=0
13 - export POSIXLY_CORRECT=1
17 - sudo apt-get -qq update
20 ### build requirements ###
22 # global build requirements
23 - sudo apt-get -qq --no-install-recommends install
27 - wget https://xs.powerdns.com/tmp/libsodium_1.0.2-1_amd64.deb
28 - sudo dpkg -i libsodium_1.0.2-1_amd64.deb
29 - sudo mv /usr/local/lib/libsodium.* /usr/lib
32 # pkcs11 build requirements
33 - sudo apt-get -qq --no-install-recommends install
37 - sudo apt-get -qq --no-install-recommends install
42 - sudo apt-get -qq --no-install-recommends install
46 - sudo apt-get -qq --no-install-recommends install
50 # remote-backend build requirements
51 - sudo apt-get -qq --no-install-recommends install
55 ### documentation requirements
56 - sudo apt-get -qq --no-install-recommends install
61 ### test requirements ###
63 # authoritative test requirements / setup
64 - sudo apt-get -qq --no-install-recommends install
74 - wget http://www.verisignlabs.com/dnssec-tools/packages/jdnssec-tools-0.12.tar.gz
75 - sudo tar xfz jdnssec-tools-0.12.tar.gz --strip-components=1 -C /
78 # pkcs11 test requirements / setup
79 - sudo apt-get -qq --no-install-recommends install
82 - sudo mkdir -p /etc/pkcs11/modules/
83 - sudo cp -f regression-tests/softhsm.mod /etc/pkcs11/modules/softhsm.module
84 - sudo cp -f regression-tests/softhsm.conf /etc/softhsm/softhsm.conf
85 - sudo chmod 0755 /etc/softhsm/
86 - sudo chmod 0644 /etc/softhsm/softhsm.conf
87 - sudo chmod 0777 /var/lib/softhsm
88 - p11-kit -l # ensure it's ok
90 # bind-backend tests requirements
91 - sudo apt-get -qq --no-install-recommends install
94 - wget ftp://ftp.nominum.com/pub/nominum/dnsperf/2.0.0.0/dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz
95 - tar xzvf dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz
96 - fakeroot alien --to-deb dnsperf-2.0.0.0-1/dnsperf-2.0.0.0-1.el6.x86_64.rpm
97 - sudo dpkg -i dnsperf_2.0.0.0-2_amd64.deb
100 # geoip-backend test requirements / setup
101 - sudo apt-get -qq --no-install-recommends install
103 - export geoipregion=oc geoipregionip=1.2.3.4
105 # gmysql-backend test requirements
106 - sudo apt-get -qq --no-install-recommends install
109 # godbc-backend test setup
110 - echo -e "[pdns-sqlite3-1]\nDriver = SQLite3\nDatabase = ${PWD}/regression-tests/pdns.sqlite3\n\n[pdns-sqlite3-2]\nDriver = SQLite3\nDatabase = ${PWD}/regression-tests/pdns.sqlite32\n" > ${HOME}/.odbc.ini
111 - export GODBC_SQLITE3_DSN=pdns-sqlite3-1
113 # remote-backend tests requirements
114 - sudo apt-get -qq --no-install-recommends install
118 - gem install bundler --no-rdoc --no-ri
119 - cd modules/remotebackend
120 - ruby -S bundle install
124 - sudo apt-get -qq --no-install-recommends install
127 # documentation test requirements
128 - virtualenv $HOME/.venv
129 - source $HOME/.venv/bin/activate
130 - pip install -q pandocfilters==1.2.3 mkdocs==0.14 linkchecker==9.3 click==5.1
132 # recursor test requirements / setup
133 - sudo apt-get -qq --no-install-recommends install
137 - wget http://s3.amazonaws.com/alexa-static/top-1m.csv.zip
138 - unzip top-1m.csv.zip -d ./pdns/regression-tests
140 - 'for suffix in {1..40}; do sudo /sbin/ip addr add 10.0.3.$suffix/32 dev lo; done'
141 - sudo touch /etc/authbind/byport/53
142 - sudo chmod 755 /etc/authbind/byport/53
145 - sudo apt-get -qq --no-install-recommends install
151 # Build without --enable-botan1.10 option, Botan/SoftHSM conflict #2496
152 - source $HOME/.venv/bin/activate
153 - CFLAGS='-O1' CXXFLAGS='-O1' ./configure
154 --with-dynmodules='bind gmysql geoip gpgsql gsqlite3 ldap lua mydns opendbx pipe random remote tinydns'
158 --enable-experimental-pkcs11
159 --enable-remotebackend-zeromq
162 --enable-backend-unit-tests
163 --disable-dependency-tracking
171 - source $HOME/.venv/bin/activate
176 - make -k install DESTDIR=/tmp/pdns-install-dir
177 - find /tmp/pdns-install-dir -ls
180 - test -f pdns/test-suite.log && cat pdns/test-suite.log || true
181 - test -f modules/remotebackend/test-suite.log && cat modules/remotebackend/test-suite.log || true
183 #DNSName - make -k -j3 -C pdns $(grep '(EXEEXT):' pdns/Makefile | cut -f1 -d\$ | grep -E -v 'dnsdist|calidns')
184 - make -k -j3 -C pdns $(grep '(EXEEXT):' pdns/Makefile | cut -f1 -d\$ | grep -E -v 'dnsdist|calidns|speedtest')
187 - ./pdnsutil test-algorithms
190 - cd regression-tests
191 - ./timestamp ./start-test-stop 5300 bind-both
192 - ./timestamp ./start-test-stop 5300 bind-dnssec-both
193 - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-both
194 - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-optout-both
195 - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-narrow
196 - ./timestamp ./start-test-stop 5300 bind-hybrid-nsec3
197 - ./timestamp ./start-test-stop 5300 bind-dnssec-pkcs11
199 - ./timestamp ./start-test-stop 5300 geoip
200 - ./timestamp ./start-test-stop 5300 geoip-nsec3-narrow
202 - ./timestamp ./start-test-stop 5300 gmysql-nodnssec-both
203 - ./timestamp ./start-test-stop 5300 gmysql-both
204 - ./timestamp ./start-test-stop 5300 gmysql-nsec3-both
205 - ./timestamp ./start-test-stop 5300 gmysql-nsec3-optout-both
206 - ./timestamp ./start-test-stop 5300 gmysql-nsec3-narrow
208 # - ./timestamp ./start-test-stop 5300 godbc_sqlite3-nsec3
210 - ./timestamp ./start-test-stop 5300 gpgsql-nodnssec-both
211 - ./timestamp ./start-test-stop 5300 gpgsql-both
212 - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-both
213 - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-optout-both
214 - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-narrow
216 - ./timestamp ./start-test-stop 5300 gsqlite3-nodnssec-both
217 - ./timestamp ./start-test-stop 5300 gsqlite3-both
218 - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-both
219 - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-optout-both
220 - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-narrow
222 - ./timestamp ./start-test-stop 5300 mydns
224 - ./timestamp ./start-test-stop 5300 opendbx-sqlite3
226 - ./timestamp ./start-test-stop 5300 remotebackend-pipe
227 - ./timestamp ./start-test-stop 5300 remotebackend-pipe-dnssec
228 - ./timestamp ./start-test-stop 5300 remotebackend-unix
229 - ./timestamp ./start-test-stop 5300 remotebackend-unix-dnssec
230 - ./timestamp ./start-test-stop 5300 remotebackend-http
231 - ./timestamp ./start-test-stop 5300 remotebackend-http-dnssec
232 - ./timestamp ./start-test-stop 5300 remotebackend-zeromq
233 - ./timestamp ./start-test-stop 5300 remotebackend-zeromq-dnssec
235 - ./timestamp ./start-test-stop 5300 tinydns
243 - make -k -j3 pdns_recursor
244 - rm -f pdns_recursor
248 - ./build-scripts/dist-recursor
249 - cd pdns/pdns-recursor-*/
253 - ln -s pdns-recursor*/pdns_recursor .
257 - cd regression-tests.recursor
258 - cp vars.sample vars
264 #DNSName: - test ! -s ./failed_tests
271 - cd regression-tests
272 - THRESHOLD=90 TRACE=no ./timestamp ./recursor-test 5300 25000
279 - ./build-scripts/dist-dnsdist
280 - cd pdns/dnsdistdist
281 - tar xf dnsdist*.tar.bz2
283 - ./configure --enable-unit-tests
286 - cp ./dnsdist ../../../regression-tests.dnsdist/
287 - cd ../../../regression-tests.dnsdist
288 - DNSDISTBIN=./dnsdist ./runtests
291 - rm -rf pdns/dnsdistdist/dnsdist-*/
295 - cd regression-tests.api
296 - ./runtests authoritative
297 - ./runtests recursor
301 ### no backend tests ###
302 - cd regression-tests.nobackend/
304 - test ! -s ./failed_tests
309 - git status | grep -q clean
315 - "irc.oftc.net#powerdns-dev"
317 - "%{author} @ %{repository} / %{branch} - Build:#%{build_number} : %{message} - Changes: %{compare_url} - Build details: %{build_url}"