]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - .gitlab-ci.yml
Merge remote-tracking branch 'origin/mq-static-analysis'
[thirdparty/bird.git] / .gitlab-ci.yml
index 039dbf5ec6602aa1156028bcdc8d8e280ea67377..119d4be9c983adb0cc134f44cbf786e59fbd935b 100644 (file)
@@ -36,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:
@@ -81,125 +91,73 @@ 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
 
-.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-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
@@ -213,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
@@ -230,69 +184,124 @@ 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-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
@@ -307,13 +316,70 @@ build-birdlab:
     - cd $TOOLS_DIR
     - sudo git clean -fx
     - git pull --ff-only
-    - mv $DIR/bird $DIR/birdc netlab-int/common
+    - mv $DIR/bird $DIR/birdc netlab/common
 
-running_test:
+.test: &test-base
   stage: test
+  needs: [build-birdlab]
   tags:
     - birdlab
     - amd64
   script:
-    - cd $TOOLS_DIR/netlab-int
-    - sudo ./runtest -m check cf-ospf
+    - cd $TOOLS_DIR/netlab
+    - sudo ./stop
+    - 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
+
+test-ospf-vrf:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf-vrf
+
+test-bgp-base:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-bgp-base
+
+test-bgp-auth:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-bgp-auth