]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Enable Gitlab-CI for the project
authorOndřej Surý <ondrej@sury.org>
Fri, 13 Oct 2017 13:32:08 +0000 (15:32 +0200)
committerOndřej Surý <ondrej@sury.org>
Mon, 12 Feb 2018 14:01:54 +0000 (15:01 +0100)
.gitlab-ci.yml [new file with mode: 0644]
contrib/docker/centos:latest/Dockerfile [new file with mode: 0644]
contrib/docker/debian:latest/Dockerfile [new file with mode: 0644]
contrib/docker/debian:unstable/Dockerfile [new file with mode: 0644]
contrib/docker/fedora:latest/Dockerfile [new file with mode: 0644]
contrib/docker/ubuntu:latest/Dockerfile [new file with mode: 0644]

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..5961e29
--- /dev/null
@@ -0,0 +1,96 @@
+variables:
+  DEBIAN_FRONTEND: noninteractive
+  LC_ALL: C
+
+stages:
+  - image
+  - build
+  - test
+
+.image: &image
+  image: docker:latest
+  stage: image
+  services:
+    - docker:dind
+  tags:
+    - shared
+    - docker
+  before_script:
+    - docker info
+  script:
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_BUILD_TOKEN" "$CI_REGISTRY"
+    - docker pull "$CI_REGISTRY_IMAGE/$CI_JOB_NAME" || true
+    - docker build --cache-from "$CI_REGISTRY_IMAGE/$CI_JOB_NAME" -t "$CI_REGISTRY_IMAGE/$CI_JOB_NAME" "contrib/docker/$CI_JOB_NAME"
+    - docker push "$CI_REGISTRY_IMAGE/$CI_JOB_NAME"
+
+debian:latest:
+  <<: *image
+
+debian:unstable:
+  <<: *image
+
+ubuntu:latest:
+  <<: *image
+
+#centos:latest:
+#  <<: *image
+
+#fedora:latest:
+#  <<: *image
+
+.debian_latest: &debian_latest
+  image: "$CI_REGISTRY_IMAGE/debian:latest"
+  tags:
+    - linux
+    - docker
+
+.debian_unstable: &debian_unstable
+  image: "$CI_REGISTRY_IMAGE/debian:unstable"
+  tags:
+    - linux
+    - docker
+
+.ubuntu_latest: &ubuntu_latest
+  image: "$CI_REGISTRY_IMAGE/ubuntu:latest"
+  tags:
+    - linux
+    - docker
+
+.build: &build_job
+  stage: build
+  script:
+    - ./autogen.sh
+    - ./configure
+    - make -k all V=1
+  artifacts:
+    untracked: true
+    expire_in: '1 hour'
+
+.test: &test_job
+  stage: test
+  script:
+    - make -k check V=1
+
+build:debian:latest:
+  <<: *debian_latest
+  <<: *build_job
+
+test:debian:latest:
+  <<: *debian_latest
+  <<: *test_job
+
+build:debian:unstable:
+  <<: *debian_unstable
+  <<: *build_job
+
+test:debian:unstable:
+  <<: *debian_unstable
+  <<: *test_job
+
+build:ubuntu:latest:
+  <<: *ubuntu_latest
+  <<: *build_job
+
+test:ubuntu:latest:
+  <<: *ubuntu_latest
+  <<: *test_job
diff --git a/contrib/docker/centos:latest/Dockerfile b/contrib/docker/centos:latest/Dockerfile
new file mode 100644 (file)
index 0000000..c79fdaa
--- /dev/null
@@ -0,0 +1,18 @@
+FROM centos:latest
+MAINTAINER Knot DNS <knot-dns@labs.nic.cz>
+ENV DEBIAN_FRONTEND noninteractive
+RUN yum -y upgrade
+RUN yum -y install epel-release
+RUN yum -y install             \
+       'autoconf'              \
+       'automake'              \
+       'bison'                 \
+       'libtool'               \
+       'lmdb-devel'            \
+       'pkgconfig'             \
+       'pkgconfig(openssl)'    \
+       'pkgconfig(jansson)'    \
+       'pkgconfig(libcap2)'    \
+       'openldap-devel'        \
+       'krb5-devel'            \
+       'pkgconfig(libxml-2.0)'
diff --git a/contrib/docker/debian:latest/Dockerfile b/contrib/docker/debian:latest/Dockerfile
new file mode 100644 (file)
index 0000000..da42acb
--- /dev/null
@@ -0,0 +1,23 @@
+FROM debian:stable
+MAINTAINER BIND 9 Developers <bind9-dev@isc.org>
+ENV DEBIAN_FRONTEND noninteractive
+RUN apt-get -y update
+RUN apt-get -y dist-upgrade
+RUN apt-get -y install \
+       autoconf        \
+       automake        \
+       autotools-dev   \
+       bash-completion \
+       bison           \
+       build-essential \
+       git             \
+       libcap2-dev     \
+       libdb-dev       \
+       libgeoip-dev    \
+       libkrb5-dev     \
+       libldap2-dev    \
+       liblmdb-dev     \
+       libtool         \
+       libssl-dev      \
+       libxml2-dev     \
+       pkg-config
diff --git a/contrib/docker/debian:unstable/Dockerfile b/contrib/docker/debian:unstable/Dockerfile
new file mode 100644 (file)
index 0000000..9714c0e
--- /dev/null
@@ -0,0 +1,23 @@
+FROM debian:unstable
+MAINTAINER BIND 9 Developers <bind9-dev@isc.org>
+ENV DEBIAN_FRONTEND noninteractive
+RUN apt-get -y update
+RUN apt-get -y dist-upgrade
+RUN apt-get -y install \
+       autoconf        \
+       automake        \
+       autotools-dev   \
+       bash-completion \
+       bison           \
+       build-essential \
+       git             \
+       libcap2-dev     \
+       libdb-dev       \
+       libgeoip-dev    \
+       libkrb5-dev     \
+       libldap2-dev    \
+       liblmdb-dev     \
+       libtool         \
+       libssl-dev      \
+       libxml2-dev     \
+       pkg-config
diff --git a/contrib/docker/fedora:latest/Dockerfile b/contrib/docker/fedora:latest/Dockerfile
new file mode 100644 (file)
index 0000000..3228503
--- /dev/null
@@ -0,0 +1,17 @@
+FROM fedora:latest
+MAINTAINER Knot DNS <knot-dns@labs.nic.cz>
+ENV DEBIAN_FRONTEND noninteractive
+RUN dnf -y upgrade
+RUN yum -y install             \
+       'autoconf'              \
+       'automake'              \
+       'bison'                 \
+       'libtool'               \
+       'lmdb-devel'            \
+       'pkgconfig'             \
+       'pkgconfig(openssl)'    \
+       'pkgconfig(jansson)'    \
+       'pkgconfig(libcap2)'    \
+       'openldap-devel'        \
+       'krb5-devel'            \
+       'pkgconfig(libxml-2.0)'
diff --git a/contrib/docker/ubuntu:latest/Dockerfile b/contrib/docker/ubuntu:latest/Dockerfile
new file mode 100644 (file)
index 0000000..75b8561
--- /dev/null
@@ -0,0 +1,23 @@
+FROM ubuntu:latest
+MAINTAINER BIND 9 Developers <bind9-dev@isc.org>
+ENV DEBIAN_FRONTEND noninteractive
+RUN apt-get -y update
+RUN apt-get -y dist-upgrade
+RUN apt-get -y install \
+       autoconf        \
+       automake        \
+       autotools-dev   \
+       bash-completion \
+       bison           \
+       build-essential \
+       git             \
+       libcap2-dev     \
+       libdb-dev       \
+       libgeoip-dev    \
+       libkrb5-dev     \
+       libldap2-dev    \
+       liblmdb-dev     \
+       libtool         \
+       libssl-dev      \
+       libxml2-dev     \
+       pkg-config