X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=.gitlab-ci.yml;h=41106974ba74773fbaa6c2ba80a08bff0573d263;hb=0adfa0ec076196275a3cf034ba3ce82ffbcd2fbd;hp=059894841604db9126008e369e1631c939f3d091;hpb=830ba75e6dd369c3e64d122f0537cc85211e56e6;p=thirdparty%2Fbird.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 059894841..41106974b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 @@ -79,11 +81,6 @@ docker_fedora-26-amd64: IMG_NAME: "fedora-26-amd64" <<: *docker_build -docker_centos-6-amd64: - variables: - IMG_NAME: "centos-6-amd64" - <<: *docker_build - docker_centos-7-amd64: variables: IMG_NAME: "centos-7-amd64" @@ -104,137 +101,8 @@ docker_ubuntu-16_04-amd64: IMG_NAME: "ubuntu-16.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: ¢os-6-amd64_env - image: registry.labs.nic.cz/labs/bird:centos-6-amd64 - tags: - - docker - - linux - - amd64 -.centos-7-amd64: ¢os-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 - -.ubuntu-16_04-amd64: &ubuntu-16_04-amd64_env - image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64 - tags: - - docker - - linux - - amd64 - -# 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 - variables: - CPPFLAGS: "-I/usr/local/include" - LDFLAGS: "-L/usr/local/lib" - tags: - - freebsd - - i386 - #only: - #- master - #- triggers - #- tags - -.freebsd-11-amd64: &freebsd-11-amd64_env - variables: - CPPFLAGS: "-I/usr/local/include" - LDFLAGS: "-L/usr/local/lib" - tags: - - freebsd - - amd64 - #only: - #- master - #- triggers - #- tags - -.build: &build_job +.build: &build-base stage: build script: - autoreconf @@ -243,107 +111,111 @@ docker_ubuntu-16_04-amd64: - MAKE=make - which gmake 2>/dev/null >/dev/null && MAKE=gmake - $MAKE - # Run tests if they are available (eg. don't fail if "check" isn't a valid make target) - - $MAKE check || [ "$?" = 2 ] + # Run tests if they are available + - $MAKE check + +.build-linux: &build-linux + <<: *build-base + tags: + - docker + - linux + - amd64 build-debian-7-amd64: - variables: - IPV6: "no" - <<: *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: - variables: - IPV6: "no" - <<: *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: - variables: - IPV6: "no" - <<: *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-testing-amd64: - variables: - IPV6: "no" - <<: *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: - variables: - IPV6: "no" - <<: *fedora-25-amd64_env - <<: *build_job + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:fedora-25-amd64 build-fedora-26-amd64: - variables: - IPV6: "no" - <<: *fedora-26-amd64_env - <<: *build_job - -build-centos-6-amd64: - variables: - IPV6: "no" - <<: *centos-6-amd64_env - <<: *build_job + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:fedora-26-amd64 build-centos-7-amd64: - variables: - IPV6: "no" - <<: *centos-7-amd64_env - <<: *build_job + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:centos-7-amd64 build-opensuse-42_3-amd64: - variables: - IPV6: "no" - <<: *opensuse-42_3-amd64_env - <<: *build_job + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:opensuse-42.3-amd64 build-ubuntu-14_04-amd64: - variables: - IPV6: "no" - <<: *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: - variables: - IPV6: "no" - <<: *ubuntu-16_04-amd64_env - <<: *build_job - -build-debian-7-i386: - variables: - IPV6: "no" - <<: *debian-7-i386_env - <<: *build_job - -build-debian-8-i386: - variables: - IPV6: "no" - <<: *debian-8-i386_env - <<: *build_job - -build-debian-9-i386: - variables: - IPV6: "no" - <<: *debian-9-i386_env - <<: *build_job - -build-debian-testing-i386: - variables: - IPV6: "no" - <<: *debian-testing-i386_env - <<: *build_job + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64 build-freebsd-11-amd64: - variables: - IPV6: "no" - <<: *freebsd-11-amd64_env - <<: *build_job + <<: *build-base + tags: + - freebsd + - amd64 build-freebsd-11-i386: + <<: *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: + <<: *test-base variables: - IPV6: "no" - <<: *freebsd-11-i386_env - <<: *build_job + TEST_NAME: cf-ospf