]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - .gitlab-ci.yml
Tests: Activate OSPF tests
[thirdparty/bird.git] / .gitlab-ci.yml
index ff11dda083946de41edd62d1190d6ee64b5c5670..1c2b6baf87ec88bf3bef32d0eaa7026deb231925 100644 (file)
@@ -4,10 +4,12 @@ variables:
   GIT_STRATEGY: fetch
   DOCKER_CMD: docker --config="$HOME/.docker/$CI_JOB_ID/"
   IMG_BASE: registry.labs.nic.cz/labs/bird
+  TOOLS_DIR: /var/lib/gitlab-runner/bird-tools
 
 stages:
   - image
   - build
+  - test
 
 .docker: &docker_build
   stage: image
@@ -34,34 +36,44 @@ docker_debian-7-amd64:
     IMG_NAME: "debian-7-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-testing-amd64:
+docker_debian-9-i386:
   variables:
-    IMG_NAME: "debian-testing-amd64"
+    IMG_NAME: "debian-9-i386"
   <<: *docker_build
 
-docker_debian-7-i386:
+docker_debian-10-amd64:
   variables:
-    IMG_NAME: "debian-7-i386"
+    IMG_NAME: "debian-10-amd64"
   <<: *docker_build
 
-docker_debian-8-i386:
+docker_debian-10-i386:
   variables:
-    IMG_NAME: "debian-8-i386"
+    IMG_NAME: "debian-10-i386"
   <<: *docker_build
 
-docker_debian-9-i386:
+docker_debian-testing-amd64:
   variables:
-    IMG_NAME: "debian-9-i386"
+    IMG_NAME: "debian-testing-amd64"
   <<: *docker_build
 
 docker_debian-testing-i386:
@@ -79,9 +91,29 @@ docker_fedora-26-amd64:
     IMG_NAME: "fedora-26-amd64"
   <<: *docker_build
 
-docker_centos-6-amd64:
+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: "centos-6-amd64"
+    IMG_NAME: "fedora-30-amd64"
+  <<: *docker_build
+
+docker_fedora-31-amd64:
+  variables:
+    IMG_NAME: "fedora-31-amd64"
   <<: *docker_build
 
 docker_centos-7-amd64:
@@ -89,127 +121,43 @@ docker_centos-7-amd64:
     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
 
-.debian-7-i386: &debian-7-i386_env
-  image: registry.labs.nic.cz/labs/bird:debian-7-i386
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.debian-8-i386: &debian-8-i386_env
-  image: registry.labs.nic.cz/labs/bird:debian-8-i386
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.debian-9-i386: &debian-9-i386_env
-  image: registry.labs.nic.cz/labs/bird:debian-9-i386
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.debian-testing-i386: &debian-testing-i386_env
-  image: registry.labs.nic.cz/labs/bird:debian-testing-i386
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.debian-7-amd64: &debian-7-amd64_env
-  image: registry.labs.nic.cz/labs/bird:debian-7-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.debian-8-amd64: &debian-8-amd64_env
-  image: registry.labs.nic.cz/labs/bird:debian-8-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.debian-9-amd64: &debian-9-amd64_env
-  image: registry.labs.nic.cz/labs/bird:debian-9-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.debian-testing-amd64: &debian-testing-amd64_env
-  image: registry.labs.nic.cz/labs/bird:debian-testing-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.fedora-25-amd64: &fedora-25-amd64_env
-  image: registry.labs.nic.cz/labs/bird:fedora-25-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.fedora-26-amd64: &fedora-26-amd64_env
-  image: registry.labs.nic.cz/labs/bird:fedora-26-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.centos-6-amd64: &centos-6-amd64_env
-  image: registry.labs.nic.cz/labs/bird:centos-6-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.centos-7-amd64: &centos-7-amd64_env
-  image: registry.labs.nic.cz/labs/bird:centos-7-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.opensuse-42_3-amd64: &opensuse-42_3-amd64_env
-  image: registry.labs.nic.cz/labs/bird:opensuse-42.3-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
-
-.ubuntu-14_04-amd64: &ubuntu-14_04-amd64_env
-  image: registry.labs.nic.cz/labs/bird:ubuntu-14.04-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
+docker_opensuse-15.0-amd64:
+  variables:
+    IMG_NAME: "opensuse-15.0-amd64"
+  <<: *docker_build
 
-.ubuntu-16_04-amd64: &ubuntu-16_04-amd64_env
-  image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64
-  tags:
-  - docker
-  - linux
-  - amd64
+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.
+# 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
@@ -223,12 +171,8 @@ docker_ubuntu-16_04-amd64:
   tags:
   - freebsd
   - amd64
-  #only:
-  #- master
-  #- triggers
-  #- tags
 
-.build: &build_job
+.build: &build-base
   stage: build
   script:
   - autoreconf
@@ -240,70 +184,186 @@ docker_ubuntu-16_04-amd64:
   # Run tests if they are available
   - $MAKE check
 
+.build-linux: &build-linux
+  <<: *build-base
+  tags:
+    - docker
+    - linux
+    - amd64
+
 build-debian-7-amd64:
-  <<: *debian-7-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:debian-7-amd64
+
+build-debian-7-i386:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:debian-7-i386
 
 build-debian-8-amd64:
-  <<: *debian-8-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:debian-8-amd64
+
+build-debian-8-i386:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:debian-8-i386
 
 build-debian-9-amd64:
-  <<: *debian-9-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:debian-9-amd64
+
+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:
-  <<: *debian-testing-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:debian-testing-amd64
+
+build-debian-testing-i386:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:debian-testing-i386
 
 build-fedora-25-amd64:
-  <<: *fedora-25-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:fedora-25-amd64
 
 build-fedora-26-amd64:
-  <<: *fedora-26-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:fedora-26-amd64
 
-build-centos-6-amd64:
-  <<: *centos-6-amd64_env
-  <<: *build_job
+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:
-  <<: *centos-7-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:centos-7-amd64
 
-build-opensuse-42_3-amd64:
-  <<: *opensuse-42_3-amd64_env
-  <<: *build_job
+build-centos-8-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:centos-8-amd64
 
 build-ubuntu-14_04-amd64:
-  <<: *ubuntu-14_04-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:ubuntu-14.04-amd64
 
 build-ubuntu-16_04-amd64:
-  <<: *ubuntu-16_04-amd64_env
-  <<: *build_job
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64
 
-build-debian-7-i386:
-  <<: *debian-7-i386_env
-  <<: *build_job
+build-ubuntu-18_04-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:ubuntu-18.04-amd64
 
-build-debian-8-i386:
-  <<: *debian-8-i386_env
-  <<: *build_job
+build-ubuntu-19_04-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:ubuntu-19.04-amd64
 
-build-debian-9-i386:
-  <<: *debian-9-i386_env
-  <<: *build_job
+build-opensuse-15.0-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:opensuse-15.0-amd64
 
-build-debian-testing-i386:
-  <<: *debian-testing-i386_env
-  <<: *build_job
+build-opensuse-15.1-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:opensuse-15.1-amd64
 
 build-freebsd-11-amd64:
-  <<: *freebsd-11-amd64_env
-  <<: *build_job
+  <<: *build-base
+  tags:
+    - freebsd
+    - amd64
 
 build-freebsd-11-i386:
-  <<: *freebsd-11-i386_env
-  <<: *build_job
+  <<: *build-base
+  tags:
+    - freebsd
+    - i386
+
+build-birdlab:
+  stage: build
+  tags:
+    - birdlab
+    - amd64
+  script:
+    - DIR=$(pwd)
+    - autoreconf
+    - ./configure
+    - make
+    - cd $TOOLS_DIR
+    - sudo git clean -fx
+    - git pull --ff-only
+    - mv $DIR/bird $DIR/birdc netlab/common
+
+.test: &test-base
+  stage: test
+  needs: [build-birdlab]
+  tags:
+    - birdlab
+    - amd64
+  script:
+    - cd $TOOLS_DIR/netlab
+    - sudo ./runtest -m check $TEST_NAME
+
+test-ospf-base:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-base
+
+test-ospf-default:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-default
+
+test-ospf-priority:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-priority
+
+test-ospf-nbma:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-nbma
+
+test-ospf-ptmp:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-ptmp
+
+test-ospf-authentication:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-authentication
+
+test-ospf-bfd:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-bfd
+
+test-ospf-custom:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-custom