File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / bird2 / .gitlab-ci.yml
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Oct 21 16:03:56 2019 UTC (4 years, 8 months ago) by misho
Branches: bird2, MAIN
CVS tags: v2_0_7p0, HEAD
bird2 ver 2.0.7

    1: variables:
    2:   DEBIAN_FRONTEND: noninteractive
    3:   LC_ALL: C
    4:   GIT_STRATEGY: fetch
    5:   DOCKER_CMD: docker --config="$HOME/.docker/$CI_JOB_ID/"
    6:   IMG_BASE: registry.labs.nic.cz/labs/bird
    7: 
    8: stages:
    9:   - image
   10:   - build
   11: 
   12: .docker: &docker_build
   13:   stage: image
   14:   allow_failure: true
   15:   script:
   16:   - $DOCKER_CMD login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.labs.nic.cz
   17:   # Make sure we refresh the base image if it updates (eg. security updates, etc)
   18:   # If we do just the build, cache is always reused and the freshness of the
   19:   # base image is never checked. However, pull always asks and updates the
   20:   # image only if it changed ‒ therefore, the cache is used unless there's a
   21:   # change.
   22:   - $DOCKER_CMD pull `sed -ne 's/^FROM //p' "misc/docker/$IMG_NAME/Dockerfile"`
   23:   - $DOCKER_CMD build -t "bird:$IMG_NAME" "misc/docker/$IMG_NAME"
   24:   - $DOCKER_CMD tag "bird:$IMG_NAME" "$IMG_BASE:$IMG_NAME"
   25:   - $DOCKER_CMD push "$IMG_BASE:$IMG_NAME"
   26:   after_script:
   27:   - rm -f "$HOME/.docker/$CI_JOB_ID/" # cleanup the credentials
   28:   tags:
   29:   # That's Docker in Docker
   30:   - dind
   31: 
   32: docker_debian-7-amd64:
   33:   variables:
   34:     IMG_NAME: "debian-7-amd64"
   35:   <<: *docker_build
   36: 
   37: docker_debian-8-amd64:
   38:   variables:
   39:     IMG_NAME: "debian-8-amd64"
   40:   <<: *docker_build
   41: 
   42: docker_debian-9-amd64:
   43:   variables:
   44:     IMG_NAME: "debian-9-amd64"
   45:   <<: *docker_build
   46: 
   47: docker_debian-testing-amd64:
   48:   variables:
   49:     IMG_NAME: "debian-testing-amd64"
   50:   <<: *docker_build
   51: 
   52: docker_debian-7-i386:
   53:   variables:
   54:     IMG_NAME: "debian-7-i386"
   55:   <<: *docker_build
   56: 
   57: docker_debian-8-i386:
   58:   variables:
   59:     IMG_NAME: "debian-8-i386"
   60:   <<: *docker_build
   61: 
   62: docker_debian-9-i386:
   63:   variables:
   64:     IMG_NAME: "debian-9-i386"
   65:   <<: *docker_build
   66: 
   67: docker_debian-testing-i386:
   68:   variables:
   69:     IMG_NAME: "debian-testing-i386"
   70:   <<: *docker_build
   71: 
   72: docker_fedora-25-amd64:
   73:   variables:
   74:     IMG_NAME: "fedora-25-amd64"
   75:   <<: *docker_build
   76: 
   77: docker_fedora-26-amd64:
   78:   variables:
   79:     IMG_NAME: "fedora-26-amd64"
   80:   <<: *docker_build
   81: 
   82: docker_centos-7-amd64:
   83:   variables:
   84:     IMG_NAME: "centos-7-amd64"
   85:   <<: *docker_build
   86: 
   87: docker_opensuse-42_3-amd64:
   88:   variables:
   89:     IMG_NAME: "opensuse-42.3-amd64"
   90:   <<: *docker_build
   91: 
   92: docker_ubuntu-14_04-amd64:
   93:   variables:
   94:     IMG_NAME: "ubuntu-14.04-amd64"
   95:   <<: *docker_build
   96: 
   97: docker_ubuntu-16_04-amd64:
   98:   variables:
   99:     IMG_NAME: "ubuntu-16.04-amd64"
  100:   <<: *docker_build
  101: 
  102: .debian-7-i386: &debian-7-i386_env
  103:   image: registry.labs.nic.cz/labs/bird:debian-7-i386
  104:   tags:
  105:   - docker
  106:   - linux
  107:   - amd64
  108: 
  109: .debian-8-i386: &debian-8-i386_env
  110:   image: registry.labs.nic.cz/labs/bird:debian-8-i386
  111:   tags:
  112:   - docker
  113:   - linux
  114:   - amd64
  115: 
  116: .debian-9-i386: &debian-9-i386_env
  117:   image: registry.labs.nic.cz/labs/bird:debian-9-i386
  118:   tags:
  119:   - docker
  120:   - linux
  121:   - amd64
  122: 
  123: .debian-testing-i386: &debian-testing-i386_env
  124:   image: registry.labs.nic.cz/labs/bird:debian-testing-i386
  125:   tags:
  126:   - docker
  127:   - linux
  128:   - amd64
  129: 
  130: .debian-7-amd64: &debian-7-amd64_env
  131:   image: registry.labs.nic.cz/labs/bird:debian-7-amd64
  132:   tags:
  133:   - docker
  134:   - linux
  135:   - amd64
  136: 
  137: .debian-8-amd64: &debian-8-amd64_env
  138:   image: registry.labs.nic.cz/labs/bird:debian-8-amd64
  139:   tags:
  140:   - docker
  141:   - linux
  142:   - amd64
  143: 
  144: .debian-9-amd64: &debian-9-amd64_env
  145:   image: registry.labs.nic.cz/labs/bird:debian-9-amd64
  146:   tags:
  147:   - docker
  148:   - linux
  149:   - amd64
  150: 
  151: .debian-testing-amd64: &debian-testing-amd64_env
  152:   image: registry.labs.nic.cz/labs/bird:debian-testing-amd64
  153:   tags:
  154:   - docker
  155:   - linux
  156:   - amd64
  157: 
  158: .fedora-25-amd64: &fedora-25-amd64_env
  159:   image: registry.labs.nic.cz/labs/bird:fedora-25-amd64
  160:   tags:
  161:   - docker
  162:   - linux
  163:   - amd64
  164: 
  165: .fedora-26-amd64: &fedora-26-amd64_env
  166:   image: registry.labs.nic.cz/labs/bird:fedora-26-amd64
  167:   tags:
  168:   - docker
  169:   - linux
  170:   - amd64
  171: 
  172: .centos-7-amd64: &centos-7-amd64_env
  173:   image: registry.labs.nic.cz/labs/bird:centos-7-amd64
  174:   tags:
  175:   - docker
  176:   - linux
  177:   - amd64
  178: 
  179: .opensuse-42_3-amd64: &opensuse-42_3-amd64_env
  180:   image: registry.labs.nic.cz/labs/bird:opensuse-42.3-amd64
  181:   tags:
  182:   - docker
  183:   - linux
  184:   - amd64
  185: 
  186: .ubuntu-14_04-amd64: &ubuntu-14_04-amd64_env
  187:   image: registry.labs.nic.cz/labs/bird:ubuntu-14.04-amd64
  188:   tags:
  189:   - docker
  190:   - linux
  191:   - amd64
  192: 
  193: .ubuntu-16_04-amd64: &ubuntu-16_04-amd64_env
  194:   image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64
  195:   tags:
  196:   - docker
  197:   - linux
  198:   - amd64
  199: 
  200: # TODO We want to copy these BSDs to our own virtual machines, to make sure someone doesn't update them by accident.
  201: .freebsd-11-i386: &freebsd-11-i386_env
  202:   tags:
  203:   - freebsd
  204:   - i386
  205:   #only:
  206:   #- master
  207:   #- triggers
  208:   #- tags
  209: 
  210: .freebsd-11-amd64: &freebsd-11-amd64_env
  211:   tags:
  212:   - freebsd
  213:   - amd64
  214:   #only:
  215:   #- master
  216:   #- triggers
  217:   #- tags
  218: 
  219: .build: &build_job
  220:   stage: build
  221:   script:
  222:   - autoreconf
  223:   - ./configure CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS"
  224:   # Detect which make is available
  225:   - MAKE=make
  226:   - which gmake 2>/dev/null >/dev/null && MAKE=gmake
  227:   - $MAKE
  228:   # Run tests if they are available
  229:   - $MAKE check
  230: 
  231: build-debian-7-amd64:
  232:   <<: *debian-7-amd64_env
  233:   <<: *build_job
  234: 
  235: build-debian-8-amd64:
  236:   <<: *debian-8-amd64_env
  237:   <<: *build_job
  238: 
  239: build-debian-9-amd64:
  240:   <<: *debian-9-amd64_env
  241:   <<: *build_job
  242: 
  243: build-debian-testing-amd64:
  244:   <<: *debian-testing-amd64_env
  245:   <<: *build_job
  246: 
  247: build-fedora-25-amd64:
  248:   <<: *fedora-25-amd64_env
  249:   <<: *build_job
  250: 
  251: build-fedora-26-amd64:
  252:   <<: *fedora-26-amd64_env
  253:   <<: *build_job
  254: 
  255: build-centos-7-amd64:
  256:   <<: *centos-7-amd64_env
  257:   <<: *build_job
  258: 
  259: build-opensuse-42_3-amd64:
  260:   <<: *opensuse-42_3-amd64_env
  261:   <<: *build_job
  262: 
  263: build-ubuntu-14_04-amd64:
  264:   <<: *ubuntu-14_04-amd64_env
  265:   <<: *build_job
  266: 
  267: build-ubuntu-16_04-amd64:
  268:   <<: *ubuntu-16_04-amd64_env
  269:   <<: *build_job
  270: 
  271: build-debian-7-i386:
  272:   <<: *debian-7-i386_env
  273:   <<: *build_job
  274: 
  275: build-debian-8-i386:
  276:   <<: *debian-8-i386_env
  277:   <<: *build_job
  278: 
  279: build-debian-9-i386:
  280:   <<: *debian-9-i386_env
  281:   <<: *build_job
  282: 
  283: build-debian-testing-i386:
  284:   <<: *debian-testing-i386_env
  285:   <<: *build_job
  286: 
  287: build-freebsd-11-amd64:
  288:   <<: *freebsd-11-amd64_env
  289:   <<: *build_job
  290: 
  291: build-freebsd-11-i386:
  292:   <<: *freebsd-11-i386_env
  293:   <<: *build_job

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>