]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
bird: docker build for debian 10 amd64 added
authorMatous Holinka <matous.holinka@nic.cz>
Tue, 12 Nov 2019 12:17:45 +0000 (13:17 +0100)
committerMatous Holinka <matous.holinka@nic.cz>
Tue, 12 Nov 2019 12:17:45 +0000 (13:17 +0100)
.gitlab-ci.yml

index 7b153e33c371c418a03c8b0dce0de62451052605..42a3a7d6a7466e7dedd89b68d72f482719636f5b 100644 (file)
@@ -4,318 +4,226 @@ variables:
   GIT_STRATEGY: fetch
   DOCKER_CMD: docker --config="$HOME/.docker/$CI_JOB_ID/"
   IMG_BASE: registry.labs.nic.cz/labs/bird
-  GIT_STRATEGY: fetch
+  TOOLS_DIR: /var/lib/gitlab-runner/bird-tools
 
 stages:
-  - image
+  - image
   - build
-  - test
-
-# .docker: &docker_build
-#   stage: image
-#   allow_failure: true
-#   script:
-#   - $DOCKER_CMD login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.labs.nic.cz
-#   # Make sure we refresh the base image if it updates (eg. security updates, etc)
-#   # If we do just the build, cache is always reused and the freshness of the
-#   # 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 tag "bird:$IMG_NAME" "$IMG_BASE:$IMG_NAME"
-#   - $DOCKER_CMD push "$IMG_BASE:$IMG_NAME"
-#   after_script:
-#   - rm -f "$HOME/.docker/$CI_JOB_ID/" # cleanup the credentials
-#   tags:
-#   # That's Docker in Docker
-#   - dind
-
-# docker_debian-7-amd64:
-#   variables:
-#     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-i386:
-#   variables:
-#     IMG_NAME: "debian-8-i386"
-#   <<: *docker_build
-
-# docker_debian-9-i386:
-#   variables:
-#     IMG_NAME: "debian-9-i386"
-#   <<: *docker_build
-
-# docker_debian-testing-i386:
-#   variables:
-#     IMG_NAME: "debian-testing-i386"
-#   <<: *docker_build
-
-# docker_fedora-25-amd64:
-#   variables:
-#     IMG_NAME: "fedora-25-amd64"
-#   <<: *docker_build
-
-# docker_fedora-26-amd64:
-#   variables:
-#     IMG_NAME: "fedora-26-amd64"
-#   <<: *docker_build
-
-# docker_centos-7-amd64:
-#   variables:
-#     IMG_NAME: "centos-7-amd64"
-#   <<: *docker_build
-
-# docker_opensuse-42_3-amd64:
-#   variables:
-#     IMG_NAME: "opensuse-42.3-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
-
-# .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
-
-# .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
-#   tags:
-#   - freebsd
-#   - i386
-#   #only:
-#   #- master
-#   #- triggers
-#   #- tags
-
-# .freebsd-11-amd64: &freebsd-11-amd64_env
-#   tags:
-#   - freebsd
-#   - amd64
-#   #only:
-#   #- master
-#   #- triggers
-#   #- tags
-
-.build: &build_job
+  #- test
+
+.docker: &docker_build
+  stage: image
+  allow_failure: true
+  script:
+  - $DOCKER_CMD login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.labs.nic.cz
+  # Make sure we refresh the base image if it updates (eg. security updates, etc)
+  # If we do just the build, cache is always reused and the freshness of the
+  # 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 tag "bird:$IMG_NAME" "$IMG_BASE:$IMG_NAME"
+  - $DOCKER_CMD push "$IMG_BASE:$IMG_NAME"
+  after_script:
+  - rm -f "$HOME/.docker/$CI_JOB_ID/" # cleanup the credentials
+  tags:
+  # That's Docker in Docker
+  - dind
+
+docker_debian-7-amd64:
+  variables:
+    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-10-amd64:
+  variables:
+    IMG_NAME: "debian-10-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-i386:
+  variables:
+    IMG_NAME: "debian-8-i386"
+  <<: *docker_build
+
+docker_debian-9-i386:
+  variables:
+    IMG_NAME: "debian-9-i386"
+  <<: *docker_build
+
+docker_debian-testing-i386:
+  variables:
+    IMG_NAME: "debian-testing-i386"
+  <<: *docker_build
+
+docker_fedora-25-amd64:
+  variables:
+    IMG_NAME: "fedora-25-amd64"
+  <<: *docker_build
+
+docker_fedora-26-amd64:
+  variables:
+    IMG_NAME: "fedora-26-amd64"
+  <<: *docker_build
+
+docker_centos-7-amd64:
+  variables:
+    IMG_NAME: "centos-7-amd64"
+  <<: *docker_build
+
+docker_opensuse-42_3-amd64:
+  variables:
+    IMG_NAME: "opensuse-42.3-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
+
+.build: &build-base
   stage: build
   script:
-    - DIR=$(pwd)
-    - autoreconf
-    - ./configure CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS"
-    # Detect which make is available
-    - MAKE=make
-    - which gmake 2>/dev/null >/dev/null && MAKE=gmake
-    - $MAKE
-    # Run tests if they are available
-    - $MAKE check
-    - mv $DIR/bird $DIR/birdc /var/lib/gitlab-runner/
-
-# build-debian-7-amd64:
-#   <<: *debian-7-amd64_env
-#   <<: *build_job
-
-# build-debian-8-amd64:
-#   <<: *debian-8-amd64_env
-#   <<: *build_job
-
-# build-debian-9-amd64:
-#   <<: *debian-9-amd64_env
-#   <<: *build_job
-
-# build-debian-testing-amd64:
-#   <<: *debian-testing-amd64_env
-#   <<: *build_job
-
-# build-fedora-25-amd64:
-#   <<: *fedora-25-amd64_env
-#   <<: *build_job
-
-# build-fedora-26-amd64:
-#   <<: *fedora-26-amd64_env
-#   <<: *build_job
-
-# build-centos-7-amd64:
-#   <<: *centos-7-amd64_env
-#   <<: *build_job
-
-# build-opensuse-42_3-amd64:
-#   <<: *opensuse-42_3-amd64_env
-#   <<: *build_job
-
-# build-ubuntu-14_04-amd64:
-#   <<: *ubuntu-14_04-amd64_env
-#   <<: *build_job
-
-# build-ubuntu-16_04-amd64:
-#   <<: *ubuntu-16_04-amd64_env
-#   <<: *build_job
-
-# build-debian-7-i386:
-#   <<: *debian-7-i386_env
-#   <<: *build_job
-
-# build-debian-8-i386:
-#   <<: *debian-8-i386_env
-#   <<: *build_job
-
-# build-debian-9-i386:
-#   <<: *debian-9-i386_env
-#   <<: *build_job
-
-# build-debian-testing-i386:
-#   <<: *debian-testing-i386_env
-#   <<: *build_job
-
-# build-freebsd-11-amd64:
-#   <<: *freebsd-11-amd64_env
-#   <<: *build_job
-
-# build-freebsd-11-i386:
-#   <<: *freebsd-11-i386_env
-#   <<: *build_job
+  - autoreconf
+  - ./configure CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS"
+  # Detect which make is available
+  - MAKE=make
+  - which gmake 2>/dev/null >/dev/null && MAKE=gmake
+  - $MAKE
+  # Run tests if they are available
+  - $MAKE check
+
+.build-linux: &build-linux
+  <<: *build-base
+  tags:
+    - docker
+    - linux
+    - amd64
+
+build-debian-7-amd64:
+  <<: *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:
+  <<: *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:
+  <<: *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-testing-amd64:
+  <<: *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:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:fedora-25-amd64
+
+build-fedora-26-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:fedora-26-amd64
+
+build-centos-7-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:centos-7-amd64
+
+build-opensuse-42_3-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:opensuse-42.3-amd64
+
+build-ubuntu-14_04-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:ubuntu-14.04-amd64
+
+build-ubuntu-16_04-amd64:
+  <<: *build-linux
+  image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64
+
+build-freebsd-11-amd64:
+  <<: *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 CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS"
+    - ./configure
     - make
-    #- make check
-    - cd /var/lib/gitlab-runner/bird-tools
+    - cd $TOOLS_DIR
     - sudo git clean -fx
     - git pull --ff-only
-    - mv $DIR/bird $DIR/birdc netlab-int/common
-  tags:
-    - birdlab
-    - amd64
+    - mv $DIR/bird $DIR/birdc netlab/common
+
 
-running_test:
+.test: &test-base
   stage: test
-  script:
-    - cd /var/lib/gitlab-runner/bird-tools/netlab-int
-    - sudo ./runtest -m check cf-ospf
+  needs: [build-birdlab]
   tags:
     - birdlab
+    - amd64
+  script:
+    - cd $TOOLS_DIR/netlab
+    - sudo ./runtest -m check $TEST_NAME
+
+test-ospf:
+  <<: *test-base
+  variables:
+    TEST_NAME: cf-ospf