0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 10:11:53 +00:00
bird/.gitlab-ci.yml
2019-11-07 15:55:34 +01:00

316 lines
6.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

variables:
DEBIAN_FRONTEND: noninteractive
LC_ALL: C
GIT_STRATEGY: fetch
DOCKER_CMD: docker --config="$HOME/.docker/$CI_JOB_ID/"
IMG_BASE: registry.labs.nic.cz/labs/bird
GIT_STRATEGY: fetch
stages:
# - 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
stage: build
script:
- 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-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
build-birdlab:
<<: *build_job
script:
- DIR=$(pwd)
- cd /var/lib/gitlab-runner/bird-tools
- sudo git clean -fx
- git pull --ff-only
- mv $DIR/bird $DIR/birdc bird-tools/netlab-int/common
tags:
- birdlab
- amd64
running_test:
stage: test
script:
- cd /var/lib/gitlab-runner/bird-tools/netlab-int
- sudo ./runtest -m check cf-ospf
tags:
- birdlab