]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
CI: unify Docker images for kresd and Deckard CI
authorPetr Špaček <petr.spacek@nic.cz>
Mon, 27 Nov 2017 10:10:09 +0000 (11:10 +0100)
committerPetr Špaček <petr.spacek@nic.cz>
Mon, 27 Nov 2017 10:11:45 +0000 (11:11 +0100)
The Docker image now should work for both projects.
Also, the image was extended with tools to measure code coverage.

.gitlab-ci.yml
ci/Dockerfile

index a1696fec019fa2fc089f3f3e661af89c91791447..0abd53ccb7f3bf8f8346870ff75f0898a618ec9b 100644 (file)
@@ -1,4 +1,4 @@
-image: cznic/ci-debian-kresd:beta
+image: cznic/ci-debian-kresd
 
 variables:
   DEBIAN_FRONTEND: noninteractive
index 69bc22cc8c0c69f0cbb75fa8991a4e040631e69a..b92a3b4d8c63650ca53995186b09d9299d67787f 100644 (file)
@@ -11,18 +11,22 @@ RUN apt-get upgrade -y -qqq
 # Knot and Knot Resolver dependecies
 RUN apt-get install -y -qqq make cmake pkg-config git build-essential bsdmainutils libtool autoconf make pkg-config liburcu-dev libgnutls28-dev libedit-dev liblmdb-dev libcap-ng-dev libsystemd-dev libidn11-dev protobuf-c-compiler libfstrm-dev pkg-config libuv1-dev libcmocka-dev libluajit-5.1-dev lua-sec lua-socket
 
+# Python packags required for Deckard CI
 # Python: grab latest versions from PyPi
+# (dnspython and Augeas binding in Debian packages are slow and buggy)
 RUN apt-get install -y -qqq python3-pip wget
 RUN pip3 install --upgrade pip
 RUN pip3 install pylint
+RUN pip3 install pep8
 
-# C depedencies for python-augeas
+# C dependencies for python-augeas
 RUN apt-get install -y -qqq libaugeas-dev libffi-dev
-# Deckard depedencies
+# Python dependencies for Deckard
 RUN wget https://gitlab.labs.nic.cz/knot/deckard/raw/master/requirements.txt -O /tmp/deckard-req.txt
 RUN pip3 install -r /tmp/deckard-req.txt
 
 # build and install latest version of Knot DNS
+# (kresd depends on libknot and libdnssec)
 RUN git clone --depth=1 https://gitlab.labs.nic.cz/knot/knot-dns.git /tmp/knot
 WORKDIR /tmp/knot
 RUN pwd
@@ -32,16 +36,16 @@ RUN make
 RUN make install
 RUN ldconfig
 
-# Valgrind
+# Valgrind for kresd CI
 RUN apt-get install valgrind -y -qqq
 RUN wget https://raw.githubusercontent.com/LuaJIT/LuaJIT/v2.0.4/src/lj.supp -O /lj.supp
 # TODO: rebuild LuaJIT with Valgrind support
 
-# Lua lint
+# Lua lint for kresd CI
 RUN apt-get install luarocks -y -qqq
 RUN luarocks install luacheck
 
-# respdiff
+# respdiff for kresd CI
 RUN pip3 install dnspython python-augeas
 RUN git clone --depth=1 https://gitlab.labs.nic.cz/knot/resolver-benchmarking.git /tmp/resolver-benchmarking
 RUN mv /tmp/resolver-benchmarking/response_differences/respdiff /var/opt/respdiff
@@ -55,3 +59,13 @@ RUN printf "server:\n interface: 127.0.0.1@53535\n use-syslog: yes\nremote-contr
 # BIND for respdiff
 RUN apt-get install bind9 -y -qqq
 RUN printf 'options {\n directory "/var/cache/bind";\n listen-on port 53533 { 127.0.0.1; };\n listen-on-v6 port 53533 { ::1; };\n};\n' > /etc/bind/named.conf.options
+
+# PowerDNS Recursor for Deckard CI
+RUN apt-get install pdns-recursor -y -qqq
+
+# code coverage
+RUN apt-get install -y -qqq lcov
+RUN luarocks install luacov
+
+# LuaJIT binary for stand-alone scripting
+RUN apt-get install -y -qqq luajit