From 92249894b333f7785e62b2f629dca1bbe6597c2f Mon Sep 17 00:00:00 2001 From: Matous Holinka Date: Tue, 26 Nov 2019 19:33:01 +0100 Subject: [PATCH] CI: Add more build tests Add more Docker images with distributions (CentOS 8, Debian 10, Fedora 27-31, OpenSUSE 15.0 & 15.1, and Ubuntu 18.04 & 19.04). Fix some issues with older ones. --- .gitlab-ci.yml | 155 +++++++++++++++--- misc/docker/centos-8-amd64/Dockerfile | 11 ++ misc/docker/debian-10-amd64/Dockerfile | 12 ++ misc/docker/debian-10-i386/Dockerfile | 12 ++ misc/docker/debian-7-amd64/Dockerfile | 5 +- misc/docker/debian-7-i386/Dockerfile | 5 +- misc/docker/fedora-25-amd64/Dockerfile | 1 + misc/docker/fedora-26-amd64/Dockerfile | 1 + misc/docker/fedora-27-amd64/Dockerfile | 11 ++ misc/docker/fedora-28-amd64/Dockerfile | 11 ++ misc/docker/fedora-29-amd64/Dockerfile | 11 ++ misc/docker/fedora-30-amd64/Dockerfile | 11 ++ misc/docker/fedora-31-amd64/Dockerfile | 11 ++ .../Dockerfile | 2 +- misc/docker/opensuse-15.1-amd64/Dockerfile | 11 ++ misc/docker/ubuntu-18.04-amd64/Dockerfile | 12 ++ misc/docker/ubuntu-19.04-amd64/Dockerfile | 12 ++ 17 files changed, 268 insertions(+), 26 deletions(-) create mode 100644 misc/docker/centos-8-amd64/Dockerfile create mode 100644 misc/docker/debian-10-amd64/Dockerfile create mode 100644 misc/docker/debian-10-i386/Dockerfile create mode 100644 misc/docker/fedora-27-amd64/Dockerfile create mode 100644 misc/docker/fedora-28-amd64/Dockerfile create mode 100644 misc/docker/fedora-29-amd64/Dockerfile create mode 100644 misc/docker/fedora-30-amd64/Dockerfile create mode 100644 misc/docker/fedora-31-amd64/Dockerfile rename misc/docker/{opensuse-42.3-amd64 => opensuse-15.0-amd64}/Dockerfile (84%) create mode 100644 misc/docker/opensuse-15.1-amd64/Dockerfile create mode 100644 misc/docker/ubuntu-18.04-amd64/Dockerfile create mode 100644 misc/docker/ubuntu-19.04-amd64/Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41106974..60212160 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,36 +36,46 @@ docker_debian-7-amd64: IMG_NAME: "debian-7-amd64" <<: *docker_build -docker_debian-8-amd64: - variables: - IMG_NAME: "debian-8-amd64" - <<: *docker_build - -docker_debian-9-amd64: - variables: - IMG_NAME: "debian-9-amd64" - <<: *docker_build - -docker_debian-testing-amd64: - variables: - IMG_NAME: "debian-testing-amd64" - <<: *docker_build - docker_debian-7-i386: variables: IMG_NAME: "debian-7-i386" <<: *docker_build +docker_debian-8-amd64: + variables: + IMG_NAME: "debian-8-amd64" + <<: *docker_build + docker_debian-8-i386: variables: IMG_NAME: "debian-8-i386" <<: *docker_build +docker_debian-9-amd64: + variables: + IMG_NAME: "debian-9-amd64" + <<: *docker_build + docker_debian-9-i386: variables: IMG_NAME: "debian-9-i386" <<: *docker_build +docker_debian-10-amd64: + variables: + IMG_NAME: "debian-10-amd64" + <<: *docker_build + +docker_debian-10-i386: + variables: + IMG_NAME: "debian-10-i386" + <<: *docker_build + +docker_debian-testing-amd64: + variables: + IMG_NAME: "debian-testing-amd64" + <<: *docker_build + docker_debian-testing-i386: variables: IMG_NAME: "debian-testing-i386" @@ -81,26 +91,86 @@ docker_fedora-26-amd64: IMG_NAME: "fedora-26-amd64" <<: *docker_build +docker_fedora-27-amd64: + variables: + IMG_NAME: "fedora-27-amd64" + <<: *docker_build + +docker_fedora-28-amd64: + variables: + IMG_NAME: "fedora-28-amd64" + <<: *docker_build + +docker_fedora-29-amd64: + variables: + IMG_NAME: "fedora-29-amd64" + <<: *docker_build + +docker_fedora-30-amd64: + variables: + IMG_NAME: "fedora-30-amd64" + <<: *docker_build + +docker_fedora-31-amd64: + variables: + IMG_NAME: "fedora-31-amd64" + <<: *docker_build + docker_centos-7-amd64: variables: IMG_NAME: "centos-7-amd64" <<: *docker_build -docker_opensuse-42_3-amd64: +docker_centos-8-amd64: variables: - IMG_NAME: "opensuse-42.3-amd64" + IMG_NAME: "centos-8-amd64" <<: *docker_build docker_ubuntu-14_04-amd64: variables: IMG_NAME: "ubuntu-14.04-amd64" <<: *docker_build - + docker_ubuntu-16_04-amd64: variables: IMG_NAME: "ubuntu-16.04-amd64" <<: *docker_build + +docker_ubuntu-18_04-amd64: + variables: + IMG_NAME: "ubuntu-18.04-amd64" + <<: *docker_build + +docker_ubuntu-19_04-amd64: + variables: + IMG_NAME: "ubuntu-19.04-amd64" + <<: *docker_build +docker_opensuse-15.0-amd64: + variables: + IMG_NAME: "opensuse-15.0-amd64" + <<: *docker_build + +docker_opensuse-15.1-amd64: + variables: + IMG_NAME: "opensuse-15.1-amd64" + <<: *docker_build + +# TODO We want to copy these BSDs to our own virtual machines, to make sure +# someone doesn't update them by accident. +.freebsd-11-i386: &freebsd-11-i386_env + tags: + - freebsd + - i386 + #only: + #- master + #- triggers + #- tags + +.freebsd-11-amd64: &freebsd-11-amd64_env + tags: + - freebsd + - amd64 .build: &build-base stage: build @@ -145,6 +215,14 @@ build-debian-9-i386: <<: *build-linux image: registry.labs.nic.cz/labs/bird:debian-9-i386 +build-debian-10-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:debian-10-amd64 + +build-debian-10-i386: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:debian-10-i386 + build-debian-testing-amd64: <<: *build-linux image: registry.labs.nic.cz/labs/bird:debian-testing-amd64 @@ -161,13 +239,33 @@ build-fedora-26-amd64: <<: *build-linux image: registry.labs.nic.cz/labs/bird:fedora-26-amd64 +build-fedora-27-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:fedora-27-amd64 + +build-fedora-28-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:fedora-28-amd64 + +build-fedora-29-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:fedora-29-amd64 + +build-fedora-30-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:fedora-30-amd64 + +build-fedora-31-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:fedora-31-amd64 + build-centos-7-amd64: <<: *build-linux image: registry.labs.nic.cz/labs/bird:centos-7-amd64 -build-opensuse-42_3-amd64: +build-centos-8-amd64: <<: *build-linux - image: registry.labs.nic.cz/labs/bird:opensuse-42.3-amd64 + image: registry.labs.nic.cz/labs/bird:centos-8-amd64 build-ubuntu-14_04-amd64: <<: *build-linux @@ -177,6 +275,22 @@ build-ubuntu-16_04-amd64: <<: *build-linux image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64 +build-ubuntu-18_04-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:ubuntu-18.04-amd64 + +build-ubuntu-19_04-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:ubuntu-19.04-amd64 + +build-opensuse-15.0-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:opensuse-15.0-amd64 + +build-opensuse-15.1-amd64: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:opensuse-15.1-amd64 + build-freebsd-11-amd64: <<: *build-base tags: @@ -204,7 +318,6 @@ build-birdlab: - git pull --ff-only - mv $DIR/bird $DIR/birdc netlab/common - .test: &test-base stage: test needs: [build-birdlab] diff --git a/misc/docker/centos-8-amd64/Dockerfile b/misc/docker/centos-8-amd64/Dockerfile new file mode 100644 index 00000000..ed1081ed --- /dev/null +++ b/misc/docker/centos-8-amd64/Dockerfile @@ -0,0 +1,11 @@ +FROM centos:8 +RUN yum -y upgrade +RUN yum -y install \ + autoconf \ + flex \ + bison \ + pkgconfig \ + 'readline-devel' \ + 'pkgconfig(ncurses)' \ + gcc \ + make diff --git a/misc/docker/debian-10-amd64/Dockerfile b/misc/docker/debian-10-amd64/Dockerfile new file mode 100644 index 00000000..4991db3e --- /dev/null +++ b/misc/docker/debian-10-amd64/Dockerfile @@ -0,0 +1,12 @@ +FROM debian:buster-slim +ENV DEBIAN_FRONTEND noninteractive +RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list +RUN apt-get -y update +RUN apt-get -y upgrade +RUN apt-get -y install \ + autoconf \ + build-essential \ + flex \ + bison \ + ncurses-dev \ + libreadline-dev diff --git a/misc/docker/debian-10-i386/Dockerfile b/misc/docker/debian-10-i386/Dockerfile new file mode 100644 index 00000000..73e70750 --- /dev/null +++ b/misc/docker/debian-10-i386/Dockerfile @@ -0,0 +1,12 @@ +FROM i386/debian:stretch-slim +ENV DEBIAN_FRONTEND noninteractive +RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list +RUN apt-get -y update +RUN apt-get -y upgrade +RUN apt-get -y install \ + autoconf \ + build-essential \ + flex \ + bison \ + ncurses-dev \ + libreadline-dev diff --git a/misc/docker/debian-7-amd64/Dockerfile b/misc/docker/debian-7-amd64/Dockerfile index dd5e9236..a4a3841e 100644 --- a/misc/docker/debian-7-amd64/Dockerfile +++ b/misc/docker/debian-7-amd64/Dockerfile @@ -1,7 +1,8 @@ FROM debian:wheezy-slim ENV DEBIAN_FRONTEND noninteractive -RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list -RUN apt-get -y update +RUN echo 'deb http://archive.debian.org/debian/ wheezy main' > /etc/apt/sources.list +RUN echo 'deb http://archive.debian.org/debian-security/ wheezy/updates main' >> /etc/apt/sources.list +RUN apt-get -y update -o Acquire::Check-Valid-Until=false RUN apt-get -y upgrade RUN apt-get -y install \ autoconf \ diff --git a/misc/docker/debian-7-i386/Dockerfile b/misc/docker/debian-7-i386/Dockerfile index 753ff1cb..aa9019ce 100644 --- a/misc/docker/debian-7-i386/Dockerfile +++ b/misc/docker/debian-7-i386/Dockerfile @@ -1,7 +1,8 @@ FROM i386/debian:wheezy-slim ENV DEBIAN_FRONTEND noninteractive -RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list -RUN apt-get -y update +RUN echo 'deb http://archive.debian.org/debian/ wheezy main' > /etc/apt/sources.list +RUN echo 'deb http://archive.debian.org/debian-security/ wheezy/updates main' >> /etc/apt/sources.list +RUN apt-get -y update -o Acquire::Check-Valid-Until=false RUN apt-get -y upgrade RUN apt-get -y install \ autoconf \ diff --git a/misc/docker/fedora-25-amd64/Dockerfile b/misc/docker/fedora-25-amd64/Dockerfile index 9cc4c3f6..d0dd8f6f 100644 --- a/misc/docker/fedora-25-amd64/Dockerfile +++ b/misc/docker/fedora-25-amd64/Dockerfile @@ -1,6 +1,7 @@ FROM fedora:25 RUN dnf -y upgrade RUN dnf -y install \ + make \ autoconf \ flex \ bison \ diff --git a/misc/docker/fedora-26-amd64/Dockerfile b/misc/docker/fedora-26-amd64/Dockerfile index d1e84439..f15ba40c 100644 --- a/misc/docker/fedora-26-amd64/Dockerfile +++ b/misc/docker/fedora-26-amd64/Dockerfile @@ -1,6 +1,7 @@ FROM fedora:26 RUN dnf -y upgrade RUN dnf -y install \ + make \ autoconf \ flex \ bison \ diff --git a/misc/docker/fedora-27-amd64/Dockerfile b/misc/docker/fedora-27-amd64/Dockerfile new file mode 100644 index 00000000..e3174591 --- /dev/null +++ b/misc/docker/fedora-27-amd64/Dockerfile @@ -0,0 +1,11 @@ +FROM fedora:27 +RUN dnf -y upgrade +RUN dnf -y install \ + make \ + autoconf \ + flex \ + bison \ + pkgconfig \ + 'readline-devel' \ + 'pkgconfig(ncurses)' \ + gcc diff --git a/misc/docker/fedora-28-amd64/Dockerfile b/misc/docker/fedora-28-amd64/Dockerfile new file mode 100644 index 00000000..0aa2f74a --- /dev/null +++ b/misc/docker/fedora-28-amd64/Dockerfile @@ -0,0 +1,11 @@ +FROM fedora:28 +RUN dnf -y upgrade +RUN dnf -y install \ + make \ + autoconf \ + flex \ + bison \ + pkgconfig \ + 'readline-devel' \ + 'pkgconfig(ncurses)' \ + gcc diff --git a/misc/docker/fedora-29-amd64/Dockerfile b/misc/docker/fedora-29-amd64/Dockerfile new file mode 100644 index 00000000..afc1f0c0 --- /dev/null +++ b/misc/docker/fedora-29-amd64/Dockerfile @@ -0,0 +1,11 @@ +FROM fedora:29 +RUN dnf -y upgrade +RUN dnf -y install \ + make \ + autoconf \ + flex \ + bison \ + pkgconfig \ + 'readline-devel' \ + 'pkgconfig(ncurses)' \ + gcc diff --git a/misc/docker/fedora-30-amd64/Dockerfile b/misc/docker/fedora-30-amd64/Dockerfile new file mode 100644 index 00000000..57561422 --- /dev/null +++ b/misc/docker/fedora-30-amd64/Dockerfile @@ -0,0 +1,11 @@ +FROM fedora:30 +RUN dnf -y upgrade +RUN dnf -y install \ + make \ + autoconf \ + flex \ + bison \ + pkgconfig \ + 'readline-devel' \ + 'pkgconfig(ncurses)' \ + gcc diff --git a/misc/docker/fedora-31-amd64/Dockerfile b/misc/docker/fedora-31-amd64/Dockerfile new file mode 100644 index 00000000..48e410e6 --- /dev/null +++ b/misc/docker/fedora-31-amd64/Dockerfile @@ -0,0 +1,11 @@ +FROM fedora:31 +RUN dnf -y upgrade +RUN dnf -y install \ + make \ + autoconf \ + flex \ + bison \ + pkgconfig \ + 'readline-devel' \ + 'pkgconfig(ncurses)' \ + gcc diff --git a/misc/docker/opensuse-42.3-amd64/Dockerfile b/misc/docker/opensuse-15.0-amd64/Dockerfile similarity index 84% rename from misc/docker/opensuse-42.3-amd64/Dockerfile rename to misc/docker/opensuse-15.0-amd64/Dockerfile index c9f7127d..b1faff40 100644 --- a/misc/docker/opensuse-42.3-amd64/Dockerfile +++ b/misc/docker/opensuse-15.0-amd64/Dockerfile @@ -1,4 +1,4 @@ -FROM opensuse:42.3 +FROM opensuse/leap:15.0 RUN zypper -n up RUN zypper -n install \ autoconf \ diff --git a/misc/docker/opensuse-15.1-amd64/Dockerfile b/misc/docker/opensuse-15.1-amd64/Dockerfile new file mode 100644 index 00000000..29d956cf --- /dev/null +++ b/misc/docker/opensuse-15.1-amd64/Dockerfile @@ -0,0 +1,11 @@ +FROM opensuse/leap:15.1 +RUN zypper -n up +RUN zypper -n install \ + autoconf \ + flex \ + bison \ + pkgconfig \ + readline-devel \ + ncurses-devel \ + gcc \ + gmake diff --git a/misc/docker/ubuntu-18.04-amd64/Dockerfile b/misc/docker/ubuntu-18.04-amd64/Dockerfile new file mode 100644 index 00000000..c68d8972 --- /dev/null +++ b/misc/docker/ubuntu-18.04-amd64/Dockerfile @@ -0,0 +1,12 @@ +FROM ubuntu:18.04 +ENV DEBIAN_FRONTEND noninteractive +RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list +RUN apt-get -y update +RUN apt-get -y upgrade +RUN apt-get -y install \ + autoconf \ + build-essential \ + flex \ + bison \ + ncurses-dev \ + libreadline-dev diff --git a/misc/docker/ubuntu-19.04-amd64/Dockerfile b/misc/docker/ubuntu-19.04-amd64/Dockerfile new file mode 100644 index 00000000..bb2f72c6 --- /dev/null +++ b/misc/docker/ubuntu-19.04-amd64/Dockerfile @@ -0,0 +1,12 @@ +FROM ubuntu:19.04 +ENV DEBIAN_FRONTEND noninteractive +RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list +RUN apt-get -y update +RUN apt-get -y upgrade +RUN apt-get -y install \ + autoconf \ + build-essential \ + flex \ + bison \ + ncurses-dev \ + libreadline-dev