forked from PowerDNS/pdns
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
197 lines (197 loc) · 7.12 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
language: cpp
compiler:
- gcc
- clang
before_script:
- git describe --always --dirty=+
- sudo /sbin/ip addr add 10.0.3.0/24 dev lo
- sudo /sbin/ip addr add 1.2.3.4/32 dev lo
- sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3-source.list
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo apt-get update -qq
- sudo apt-get -qq install g++-4.8
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90
- sudo apt-get install --quiet --quiet --no-install-recommends
alien
authbind
bc
bind9utils
daemontools
dnsutils
faketime
geoip-database
ldnsutils
libboost-all-dev
libbotan1.10-dev
libcdb-dev
libcdb-dev
libcurl4-openssl-dev
libgeoip-dev
libldap2-dev
liblua5.1-posix1
libnet-dns-perl
libopendbx1-dev
libopendbx1-sqlite3
libp11-kit-dev
libtolua-dev
libtool
links
moreutils
p11-kit
pkg-config
python-virtualenv
rpm
ruby-json
ruby-sqlite3
ruby1.9.1
rubygems
socat
softhsm
time
unbound-host
xmlto
- sudo sh -c 'sed s/precise/trusty/g /etc/apt/sources.list > /etc/apt/sources.list.d/trusty.list'
- sudo apt-get update --quiet --quiet
- sudo apt-get install --quiet --quiet liblmdb0 liblmdb-dev lmdb-utils libyaml-cpp-dev libzmq3-dev pandoc
- sudo pip install pandoc==1.0.0-alpha.3 pandocfilters mkdocs==0.11.1 linkchecker==9.3
- sudo update-alternatives --set ruby /usr/bin/ruby1.9.1
- sudo touch /etc/authbind/byport/53
- sudo chmod 755 /etc/authbind/byport/53
- cd ..
- wget ftp://ftp.nominum.com/pub/nominum/dnsperf/2.0.0.0/dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz
- tar xzvf dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz
- fakeroot alien --to-deb dnsperf-2.0.0.0-1/dnsperf-2.0.0.0-1.el6.x86_64.rpm
- sudo dpkg -i dnsperf_2.0.0.0-2_amd64.deb
- wget https://xs.powerdns.com/tmp/libsodium_1.0.2-1_amd64.deb
- sudo dpkg -i libsodium_1.0.2-1_amd64.deb
- wget http://s3.amazonaws.com/alexa-static/top-1m.csv.zip
- unzip top-1m.csv.zip -d ./pdns/regression-tests
- cd pdns
- travis_retry gem install bundler --no-rdoc --no-ri
- cd modules/remotebackend
- travis_retry ruby -S bundle install
- cd ../..
- sudo mkdir -p /etc/pkcs11/modules/
- sudo cp -f regression-tests/softhsm.mod /etc/pkcs11/modules/softhsm
- sudo cp -f regression-tests/softhsm.conf /etc/softhsm/softhsm.conf
- sudo chmod 0755 /etc/softhsm/
- sudo chmod 0644 /etc/softhsm/softhsm.conf
- sudo chmod 0777 /var/lib/softhsm
- p11-kit -l # ensure it's ok
script:
- ./bootstrap
- ./configure
--with-dynmodules='bind geo gmysql gpgsql gsqlite3 mydns tinydns remote random opendbx ldap lmdb lua'
--with-modules=''
--with-sqlite3
--enable-botan1.10
--enable-unit-tests
--enable-tools
--enable-remotebackend-zeromq
--enable-experimental-ed25519
--enable-experimental-pkcs11
--disable-silent-rules
--disable-dependency-tracking
- make -k dist
- make -k -j 4
- cd docs
- make check-links
- cd ..
- make -k install DESTDIR=/tmp/pdns-install-dir
- find /tmp/pdns-install-dir -ls
- make -j 4 check
- test -f pdns/test-suite.log && cat pdns/test-suite.log || true
- test -f modules/remotebackend/test-suite.log && cat modules/remotebackend/test-suite.log || true
- make -k -C pdns $(grep '(EXEEXT):' pdns/Makefile | cut -f1 -d\$ | grep -E -v 'dnsdist|calidns')
- cd pdns
- make -k -j 4 pdns_recursor
- rm -f pdns_recursor
- ./dist-recursor
- cd pdns-recursor-*/
- ./configure
- make -k -j 4
- cd ..
- ln -s pdns-recursor*/pdns_recursor .
- cd ..
- ./build-scripts/dist-dnsdist
- cd pdns/dnsdistdist
- tar xf dnsdist*.tar.bz2
- cd dnsdist-*
- ./configure
- make -k -j 4
- cd ..
- rm -rf dnsdist-*/
- cd ../../
- cd regression-tests.recursor
- cp vars.sample vars
- ./config.sh
- ./start.sh
- sleep 3
- svstat configs/*
- ./runtests
- test ! -s ./failed_tests
- ./stop.sh
- sleep 3
- ./clean.sh
- cd ../regression-tests.api
- ./runtests authoritative
- ./runtests recursor
- cd ../regression-tests
- touch tests/verify-dnssec-zone/allow-missing
- touch tests/verify-dnssec-zone/skip.nsec3 # some (travis) tools in this test are unable to handle nsec3 zones
- touch tests/verify-dnssec-zone/skip.optout
# - export geoipregion=oc geoipregionip=1.2.3.4
- ./timestamp ./start-test-stop 5300 bind-both
- ./timestamp ./start-test-stop 5300 bind-dnssec-both
- ./timestamp ./start-test-stop 5300 bind-dnssec-pkcs11
- ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-both
- ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-optout-both
- ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-narrow
- ./timestamp ./start-test-stop 5300 bind-hybrid-nsec3
# - ./timestamp ./start-test-stop 5300 geoipbackend
# - ./timestamp ./start-test-stop 5300 geoipbackend-nsec3-narrow
- ./timestamp ./start-test-stop 5300 gmysql-nodnssec-both
- ./timestamp ./start-test-stop 5300 gmysql-both
- ./timestamp ./start-test-stop 5300 gmysql-nsec3-both
- ./timestamp ./start-test-stop 5300 gmysql-nsec3-optout-both
- ./timestamp ./start-test-stop 5300 gmysql-nsec3-narrow
- ./timestamp ./start-test-stop 5300 gpgsql-nodnssec-both
- ./timestamp ./start-test-stop 5300 gpgsql-both
- ./timestamp ./start-test-stop 5300 gpgsql-nsec3-both
- ./timestamp ./start-test-stop 5300 gpgsql-nsec3-optout-both
- ./timestamp ./start-test-stop 5300 gpgsql-nsec3-narrow
- ./timestamp ./start-test-stop 5300 gsqlite3-nodnssec-both
- ./timestamp ./start-test-stop 5300 gsqlite3-both
- ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-both
- ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-optout-both
- ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-narrow
- ./timestamp ./start-test-stop 5300 lmdb-nodnssec
- ./timestamp ./start-test-stop 5300 mydns
- ./timestamp ./start-test-stop 5300 opendbx-sqlite3
- travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-pipe # Workaround for remotebackend failures on travis-ci
- travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-pipe-dnssec
- travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-unix
- travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-unix-dnssec
- travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-http
- travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-http-dnssec
- travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-zeromq
- travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-zeromq-dnssec
- ./timestamp ./start-test-stop 5300 tinydns
- rm -f tests/verify-dnssec-zone/allow-missing
- rm -f tests/verify-dnssec-zone/skip.nsec3
- rm -f tests/verify-dnssec-zone/skip.optout
- THRESHOLD=90 TRACE=no ./timestamp ./recursor-test 5300
- cd ../regression-tests.nobackend/
- ./runtests
- test ! -s ./failed_tests
- cd ..
- git status
# - git status | grep -q clean
notifications:
irc:
channels:
- "irc.oftc.net#powerdns-dev"
template:
- "%{author} @ %{repository} / %{branch} - Build:#%{build_number} : %{message} - Changes: %{compare_url} - Build details: %{build_url}"
use_notice: true
skip_join: true