From: Maria Matejka Date: Mon, 23 Mar 2026 21:30:22 +0000 (+0100) Subject: CI: Refactored gitlab files to one directory X-Git-Tag: v2.19.0~47 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=61a000bd040a53799cc9a26bcfb753691eeef37d;p=thirdparty%2Fbird.git CI: Refactored gitlab files to one directory Now the gitlab dockerfiles are inside the gitlab directory and it's outside misc/ as it never actually belonged to misc. --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5d7706c79..7df118b11 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ ##### ##### ########################################################### ##### ##### -##### This file is autogenerated from misc/gitlab/. ##### +##### This file is autogenerated from gitlab/. ##### ##### Edit those files and run `make gitlab` instead. ##### ##### ##### ########################################################### @@ -201,7 +201,7 @@ pipeline-uptodate: script: - autoreconf -i - ./configure - - touch misc/gitlab/template.yml.j2 + - touch gitlab/template.yml.j2 - make gitlab-venv - git status --porcelain - git diff --exit-code @@ -258,8 +258,8 @@ tag-collect: # base image is never checked. However, pull always asks and updates the # image only if it changed ‒ therefore, the cache is used unless there's a # change. - - $DOCKER_CMD pull `sed -ne 's/^FROM //p' "misc/docker/$IMG_NAME/Dockerfile"` - - $DOCKER_CMD build -t "bird:$IMG_NAME" "misc/docker/$IMG_NAME" + - $DOCKER_CMD pull `sed -ne 's/^FROM //p' "gitlab/docker/$IMG_NAME/Dockerfile"` + - $DOCKER_CMD build -t "bird:$IMG_NAME" "gitlab/docker/$IMG_NAME" - $DOCKER_CMD tag "bird:$IMG_NAME" "$IMG_BASE:$IMG_NAME" - $DOCKER_CMD push "$IMG_BASE:$IMG_NAME" after_script: diff --git a/Makefile.in b/Makefile.in index 336c4ab3e..2e5e4e891 100644 --- a/Makefile.in +++ b/Makefile.in @@ -78,7 +78,7 @@ cli: $(client) $(daemon): LIBS += $(DAEMON_LIBS) # Include directories -dirs := client conf doc filter lib nest test misc/gitlab $(addprefix proto/,$(protocols)) @sysdep_dirs@ +dirs := client conf doc filter lib nest test gitlab $(addprefix proto/,$(protocols)) @sysdep_dirs@ # conf/Makefile declarations needed for all other modules conf-lex-targets := $(addprefix $(objdir)/conf/,cf-lex.o) diff --git a/misc/gitlab/Makefile b/gitlab/Makefile similarity index 100% rename from misc/gitlab/Makefile rename to gitlab/Makefile diff --git a/misc/gitlab/README.md b/gitlab/README.md similarity index 65% rename from misc/gitlab/README.md rename to gitlab/README.md index de4a9dede..c030c6e51 100644 --- a/misc/gitlab/README.md +++ b/gitlab/README.md @@ -98,3 +98,52 @@ prepared with all the build dependencies, to shorten build times. TODO: - add on-demand triggers from the gitlab web ui + +# Docker files for our test machinery + +**These files are not distribution files for running BIRD. We currently +do not supply official BIRD images and do not prepare any Docker files ourselves.** + +We build for the major Linux distributions, FreeBSD and OpenBSD. If you feel +that your favourite Linux distribution is missing, please send a patch. + +Where to add your favourite Linux distribution: + +- add an appropriate dockerfile here +- possibly add `pkg-*` and `install-*` template job in `gitlab/template.yml.j2` +- add your distribution into the `distros` list in `gitlab/data.yml.j2` +- run `make gitlab-local` or `make gitlab-venv` to rebuild `.gitlab-ci.yml` + +Rebuilding the docker images is done by triggering the appropriate pipeline manually in Gitlab. + +When images are disused, check [the registry](https://gitlab.nic.cz/labs/bird/container_registry/) +and untag them so that they can be garbage-collected. + +## Debian-based distributions + +We support Debian between oldoldstable and testing. If not, poke us. + +We support Ubuntu LTS at least 5 years old and non-LTS before EOL. After EOL, +the non-LTS package repositories tend to disappear quite quickly so we don't +have resources to build against. + +## RedHat-based distributions + +We support OpenSUSE, Fedora, CentOS 7+8, Rocky Linux and Oracle Linux. If you are +missing your favourite new release, poke us. We are discontinuing the old +releases as they stop working. + +The current support for CentOS 7 and 8 has been paid for and we may drop it without +further notice at the exact moment the customer stops using it. + +We failed to find a reliable Docker image for Rocky Linux 10. + +## Any other based distributions + +We currently don't package for e.g. Alpine, Arch, Gentoo, Mint or Slackware. +Contributions are open, please refer to `CONTRIBUTING.md` for further information. + +## FreeBSD and OpenBSD + +These are not built in Docker but in proper virtuals in QEMU, refer to + diff --git a/misc/gitlab/data.yml.j2 b/gitlab/data.yml.j2 similarity index 100% rename from misc/gitlab/data.yml.j2 rename to gitlab/data.yml.j2 diff --git a/misc/docker/centos-7-amd64/Dockerfile b/gitlab/docker/centos-7-amd64/Dockerfile similarity index 100% rename from misc/docker/centos-7-amd64/Dockerfile rename to gitlab/docker/centos-7-amd64/Dockerfile diff --git a/misc/docker/centos-8-amd64/Dockerfile b/gitlab/docker/centos-8-amd64/Dockerfile similarity index 100% rename from misc/docker/centos-8-amd64/Dockerfile rename to gitlab/docker/centos-8-amd64/Dockerfile diff --git a/misc/docker/debian-10-amd64/Dockerfile b/gitlab/docker/debian-10-amd64/Dockerfile similarity index 100% rename from misc/docker/debian-10-amd64/Dockerfile rename to gitlab/docker/debian-10-amd64/Dockerfile diff --git a/misc/docker/debian-10-i386/Dockerfile b/gitlab/docker/debian-10-i386/Dockerfile similarity index 100% rename from misc/docker/debian-10-i386/Dockerfile rename to gitlab/docker/debian-10-i386/Dockerfile diff --git a/misc/docker/debian-11-amd64/Dockerfile b/gitlab/docker/debian-11-amd64/Dockerfile similarity index 100% rename from misc/docker/debian-11-amd64/Dockerfile rename to gitlab/docker/debian-11-amd64/Dockerfile diff --git a/misc/docker/debian-11-i386/Dockerfile b/gitlab/docker/debian-11-i386/Dockerfile similarity index 100% rename from misc/docker/debian-11-i386/Dockerfile rename to gitlab/docker/debian-11-i386/Dockerfile diff --git a/misc/docker/debian-12-amd64/Dockerfile b/gitlab/docker/debian-12-amd64/Dockerfile similarity index 100% rename from misc/docker/debian-12-amd64/Dockerfile rename to gitlab/docker/debian-12-amd64/Dockerfile diff --git a/misc/docker/debian-12-i386/Dockerfile b/gitlab/docker/debian-12-i386/Dockerfile similarity index 100% rename from misc/docker/debian-12-i386/Dockerfile rename to gitlab/docker/debian-12-i386/Dockerfile diff --git a/misc/docker/debian-13-amd64/Dockerfile b/gitlab/docker/debian-13-amd64/Dockerfile similarity index 100% rename from misc/docker/debian-13-amd64/Dockerfile rename to gitlab/docker/debian-13-amd64/Dockerfile diff --git a/misc/docker/debian-13-i386/Dockerfile b/gitlab/docker/debian-13-i386/Dockerfile similarity index 100% rename from misc/docker/debian-13-i386/Dockerfile rename to gitlab/docker/debian-13-i386/Dockerfile diff --git a/misc/docker/debian-testing-amd64/Dockerfile b/gitlab/docker/debian-testing-amd64/Dockerfile similarity index 100% rename from misc/docker/debian-testing-amd64/Dockerfile rename to gitlab/docker/debian-testing-amd64/Dockerfile diff --git a/misc/docker/debian-testing-i386/Dockerfile b/gitlab/docker/debian-testing-i386/Dockerfile similarity index 100% rename from misc/docker/debian-testing-i386/Dockerfile rename to gitlab/docker/debian-testing-i386/Dockerfile diff --git a/misc/docker/docbuilder/Dockerfile b/gitlab/docker/docbuilder/Dockerfile similarity index 100% rename from misc/docker/docbuilder/Dockerfile rename to gitlab/docker/docbuilder/Dockerfile diff --git a/misc/docker/fedora-32-amd64/Dockerfile b/gitlab/docker/fedora-32-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-32-amd64/Dockerfile rename to gitlab/docker/fedora-32-amd64/Dockerfile diff --git a/misc/docker/fedora-33-amd64/Dockerfile b/gitlab/docker/fedora-33-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-33-amd64/Dockerfile rename to gitlab/docker/fedora-33-amd64/Dockerfile diff --git a/misc/docker/fedora-34-amd64/Dockerfile b/gitlab/docker/fedora-34-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-34-amd64/Dockerfile rename to gitlab/docker/fedora-34-amd64/Dockerfile diff --git a/misc/docker/fedora-35-amd64/Dockerfile b/gitlab/docker/fedora-35-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-35-amd64/Dockerfile rename to gitlab/docker/fedora-35-amd64/Dockerfile diff --git a/misc/docker/fedora-36-amd64/Dockerfile b/gitlab/docker/fedora-36-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-36-amd64/Dockerfile rename to gitlab/docker/fedora-36-amd64/Dockerfile diff --git a/misc/docker/fedora-37-amd64/Dockerfile b/gitlab/docker/fedora-37-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-37-amd64/Dockerfile rename to gitlab/docker/fedora-37-amd64/Dockerfile diff --git a/misc/docker/fedora-38-amd64/Dockerfile b/gitlab/docker/fedora-38-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-38-amd64/Dockerfile rename to gitlab/docker/fedora-38-amd64/Dockerfile diff --git a/misc/docker/fedora-39-amd64/Dockerfile b/gitlab/docker/fedora-39-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-39-amd64/Dockerfile rename to gitlab/docker/fedora-39-amd64/Dockerfile diff --git a/misc/docker/fedora-40-amd64/Dockerfile b/gitlab/docker/fedora-40-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-40-amd64/Dockerfile rename to gitlab/docker/fedora-40-amd64/Dockerfile diff --git a/misc/docker/fedora-41-amd64/Dockerfile b/gitlab/docker/fedora-41-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-41-amd64/Dockerfile rename to gitlab/docker/fedora-41-amd64/Dockerfile diff --git a/misc/docker/fedora-42-amd64/Dockerfile b/gitlab/docker/fedora-42-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-42-amd64/Dockerfile rename to gitlab/docker/fedora-42-amd64/Dockerfile diff --git a/misc/docker/fedora-43-amd64/Dockerfile b/gitlab/docker/fedora-43-amd64/Dockerfile similarity index 100% rename from misc/docker/fedora-43-amd64/Dockerfile rename to gitlab/docker/fedora-43-amd64/Dockerfile diff --git a/misc/docker/opensuse-15.0-amd64/Dockerfile b/gitlab/docker/opensuse-15.0-amd64/Dockerfile similarity index 100% rename from misc/docker/opensuse-15.0-amd64/Dockerfile rename to gitlab/docker/opensuse-15.0-amd64/Dockerfile diff --git a/misc/docker/opensuse-15.1-amd64/Dockerfile b/gitlab/docker/opensuse-15.1-amd64/Dockerfile similarity index 100% rename from misc/docker/opensuse-15.1-amd64/Dockerfile rename to gitlab/docker/opensuse-15.1-amd64/Dockerfile diff --git a/misc/docker/opensuse-15.2-amd64/Dockerfile b/gitlab/docker/opensuse-15.2-amd64/Dockerfile similarity index 100% rename from misc/docker/opensuse-15.2-amd64/Dockerfile rename to gitlab/docker/opensuse-15.2-amd64/Dockerfile diff --git a/misc/docker/opensuse-15.3-amd64/Dockerfile b/gitlab/docker/opensuse-15.3-amd64/Dockerfile similarity index 100% rename from misc/docker/opensuse-15.3-amd64/Dockerfile rename to gitlab/docker/opensuse-15.3-amd64/Dockerfile diff --git a/misc/docker/opensuse-15.4-amd64/Dockerfile b/gitlab/docker/opensuse-15.4-amd64/Dockerfile similarity index 100% rename from misc/docker/opensuse-15.4-amd64/Dockerfile rename to gitlab/docker/opensuse-15.4-amd64/Dockerfile diff --git a/misc/docker/opensuse-15.5-amd64/Dockerfile b/gitlab/docker/opensuse-15.5-amd64/Dockerfile similarity index 100% rename from misc/docker/opensuse-15.5-amd64/Dockerfile rename to gitlab/docker/opensuse-15.5-amd64/Dockerfile diff --git a/misc/docker/opensuse-16.0-amd64/Dockerfile b/gitlab/docker/opensuse-16.0-amd64/Dockerfile similarity index 100% rename from misc/docker/opensuse-16.0-amd64/Dockerfile rename to gitlab/docker/opensuse-16.0-amd64/Dockerfile diff --git a/misc/docker/oracle-08-amd64/Dockerfile b/gitlab/docker/oracle-08-amd64/Dockerfile similarity index 100% rename from misc/docker/oracle-08-amd64/Dockerfile rename to gitlab/docker/oracle-08-amd64/Dockerfile diff --git a/misc/docker/oracle-09-amd64/Dockerfile b/gitlab/docker/oracle-09-amd64/Dockerfile similarity index 100% rename from misc/docker/oracle-09-amd64/Dockerfile rename to gitlab/docker/oracle-09-amd64/Dockerfile diff --git a/misc/docker/oracle-10-amd64/Dockerfile b/gitlab/docker/oracle-10-amd64/Dockerfile similarity index 100% rename from misc/docker/oracle-10-amd64/Dockerfile rename to gitlab/docker/oracle-10-amd64/Dockerfile diff --git a/misc/docker/rocky-08-amd64/Dockerfile b/gitlab/docker/rocky-08-amd64/Dockerfile similarity index 100% rename from misc/docker/rocky-08-amd64/Dockerfile rename to gitlab/docker/rocky-08-amd64/Dockerfile diff --git a/misc/docker/rocky-09-amd64/Dockerfile b/gitlab/docker/rocky-09-amd64/Dockerfile similarity index 100% rename from misc/docker/rocky-09-amd64/Dockerfile rename to gitlab/docker/rocky-09-amd64/Dockerfile diff --git a/misc/docker/ubuntu-18.04-amd64/Dockerfile b/gitlab/docker/ubuntu-18.04-amd64/Dockerfile similarity index 100% rename from misc/docker/ubuntu-18.04-amd64/Dockerfile rename to gitlab/docker/ubuntu-18.04-amd64/Dockerfile diff --git a/misc/docker/ubuntu-20.04-amd64/Dockerfile b/gitlab/docker/ubuntu-20.04-amd64/Dockerfile similarity index 100% rename from misc/docker/ubuntu-20.04-amd64/Dockerfile rename to gitlab/docker/ubuntu-20.04-amd64/Dockerfile diff --git a/misc/docker/ubuntu-22.04-amd64/Dockerfile b/gitlab/docker/ubuntu-22.04-amd64/Dockerfile similarity index 100% rename from misc/docker/ubuntu-22.04-amd64/Dockerfile rename to gitlab/docker/ubuntu-22.04-amd64/Dockerfile diff --git a/misc/docker/ubuntu-24.04-amd64/Dockerfile b/gitlab/docker/ubuntu-24.04-amd64/Dockerfile similarity index 100% rename from misc/docker/ubuntu-24.04-amd64/Dockerfile rename to gitlab/docker/ubuntu-24.04-amd64/Dockerfile diff --git a/misc/docker/ubuntu-25.04-amd64/Dockerfile b/gitlab/docker/ubuntu-25.04-amd64/Dockerfile similarity index 100% rename from misc/docker/ubuntu-25.04-amd64/Dockerfile rename to gitlab/docker/ubuntu-25.04-amd64/Dockerfile diff --git a/misc/docker/ubuntu-25.10-amd64/Dockerfile b/gitlab/docker/ubuntu-25.10-amd64/Dockerfile similarity index 100% rename from misc/docker/ubuntu-25.10-amd64/Dockerfile rename to gitlab/docker/ubuntu-25.10-amd64/Dockerfile diff --git a/misc/gitlab/pipeline.py b/gitlab/pipeline.py similarity index 100% rename from misc/gitlab/pipeline.py rename to gitlab/pipeline.py diff --git a/misc/gitlab/template.yml.j2 b/gitlab/template.yml.j2 similarity index 98% rename from misc/gitlab/template.yml.j2 rename to gitlab/template.yml.j2 index 7cdf5a3dc..c58cac923 100644 --- a/misc/gitlab/template.yml.j2 +++ b/gitlab/template.yml.j2 @@ -4,7 +4,7 @@ ##### ##### ########################################################### ##### ##### -##### This file is autogenerated from misc/gitlab/. ##### +##### This file is autogenerated from gitlab/. ##### ##### Edit those files and run `make gitlab` instead. ##### ##### ##### ########################################################### @@ -188,7 +188,7 @@ pipeline-uptodate: script: - autoreconf -i - ./configure - - touch misc/gitlab/template.yml.j2 + - touch gitlab/template.yml.j2 - make gitlab-venv - git status --porcelain - git diff --exit-code @@ -243,8 +243,8 @@ tag-collect: # base image is never checked. However, pull always asks and updates the # image only if it changed ‒ therefore, the cache is used unless there's a # change. - - $DOCKER_CMD pull `sed -ne 's/^FROM //p' "misc/docker/$IMG_NAME/Dockerfile"` - - $DOCKER_CMD build -t "bird:$IMG_NAME" "misc/docker/$IMG_NAME" + - $DOCKER_CMD pull `sed -ne 's/^FROM //p' "gitlab/docker/$IMG_NAME/Dockerfile"` + - $DOCKER_CMD build -t "bird:$IMG_NAME" "gitlab/docker/$IMG_NAME" - $DOCKER_CMD tag "bird:$IMG_NAME" "$IMG_BASE:$IMG_NAME" - $DOCKER_CMD push "$IMG_BASE:$IMG_NAME" after_script: diff --git a/misc/docker/README.md b/misc/docker/README.md deleted file mode 100644 index 9553a9099..000000000 --- a/misc/docker/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# Docker files for our test machinery - -**These files are not distribution files for running BIRD. We currently -do not supply official BIRD images and do not prepare any Docker files ourselves.** - -We build for the major Linux distributions, FreeBSD and OpenBSD. If you feel -that your favourite Linux distribution is missing, please send a patch. - -Where to add your favourite Linux distribution: - -- add an appropriate dockerfile here -- possibly add `pkg-*` and `install-*` template job in `misc/gitlab/template.yml.j2` -- add your distribution into the `distros` list in `misc/gitlab/data.yml.j2` -- run `make gitlab-local` or `make gitlab-venv` to rebuild `.gitlab-ci.yml` - -Rebuilding the docker images is done by triggering the appropriate pipeline manually in Gitlab. - -## Debian-based distributions - -We support Debian between oldoldstable and testing. If not, poke us. - -We support Ubuntu LTS at least 5 years old and non-LTS before EOL. After EOL, -the non-LTS package repositories tend to disappear quite quickly so we don't -have resources to build against. - -## RedHat-based distributions - -We support OpenSUSE, Fedora, CentOS 7+8, Rocky Linux and Oracle Linux. If you are -missing your favourite new release, poke us. We are discontinuing the old -releases as they stop working. - -The current support for CentOS 7 and 8 has been paid for and we may drop it without -further notice at the exact moment the customer stops using it. - -We failed to find a reliable Docker image for Rocky Linux 10. - -## Any other based distributions - -We currently don't package for e.g. Alpine, Arch, Gentoo, Mint or Slackware. -Contributions are open, please refer to `CONTRIBUTING.md` for further information. - -## FreeBSD and OpenBSD - -These are not built in Docker but in proper virtuals in QEMU, refer to -