File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / bird / .gitlab-ci.yml
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 19:50:23 2021 UTC (3 years, 2 months ago) by misho
Branches: bird, MAIN
CVS tags: v1_6_8p3, HEAD
bird 1.6.8

    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-6-amd64:
   83:   variables:
   84:     IMG_NAME: "centos-6-amd64"
   85:   <<: *docker_build
   86: 
   87: docker_centos-7-amd64:
   88:   variables:
   89:     IMG_NAME: "centos-7-amd64"
   90:   <<: *docker_build
   91: 
   92: docker_opensuse-42_3-amd64:
   93:   variables:
   94:     IMG_NAME: "opensuse-42.3-amd64"
   95:   <<: *docker_build
   96: 
   97: docker_ubuntu-14_04-amd64:
   98:   variables:
   99:     IMG_NAME: "ubuntu-14.04-amd64"
  100:   <<: *docker_build
  101: 
  102: docker_ubuntu-16_04-amd64:
  103:   variables:
  104:     IMG_NAME: "ubuntu-16.04-amd64"
  105:   <<: *docker_build
  106: 
  107: .debian-7-i386: &debian-7-i386_env
  108:   image: registry.labs.nic.cz/labs/bird:debian-7-i386
  109:   tags:
  110:   - docker
  111:   - linux
  112:   - amd64
  113: 
  114: .debian-8-i386: &debian-8-i386_env
  115:   image: registry.labs.nic.cz/labs/bird:debian-8-i386
  116:   tags:
  117:   - docker
  118:   - linux
  119:   - amd64
  120: 
  121: .debian-9-i386: &debian-9-i386_env
  122:   image: registry.labs.nic.cz/labs/bird:debian-9-i386
  123:   tags:
  124:   - docker
  125:   - linux
  126:   - amd64
  127: 
  128: .debian-testing-i386: &debian-testing-i386_env
  129:   image: registry.labs.nic.cz/labs/bird:debian-testing-i386
  130:   tags:
  131:   - docker
  132:   - linux
  133:   - amd64
  134: 
  135: .debian-7-amd64: &debian-7-amd64_env
  136:   image: registry.labs.nic.cz/labs/bird:debian-7-amd64
  137:   tags:
  138:   - docker
  139:   - linux
  140:   - amd64
  141: 
  142: .debian-8-amd64: &debian-8-amd64_env
  143:   image: registry.labs.nic.cz/labs/bird:debian-8-amd64
  144:   tags:
  145:   - docker
  146:   - linux
  147:   - amd64
  148: 
  149: .debian-9-amd64: &debian-9-amd64_env
  150:   image: registry.labs.nic.cz/labs/bird:debian-9-amd64
  151:   tags:
  152:   - docker
  153:   - linux
  154:   - amd64
  155: 
  156: .debian-testing-amd64: &debian-testing-amd64_env
  157:   image: registry.labs.nic.cz/labs/bird:debian-testing-amd64
  158:   tags:
  159:   - docker
  160:   - linux
  161:   - amd64
  162: 
  163: .fedora-25-amd64: &fedora-25-amd64_env
  164:   image: registry.labs.nic.cz/labs/bird:fedora-25-amd64
  165:   tags:
  166:   - docker
  167:   - linux
  168:   - amd64
  169: 
  170: .fedora-26-amd64: &fedora-26-amd64_env
  171:   image: registry.labs.nic.cz/labs/bird:fedora-26-amd64
  172:   tags:
  173:   - docker
  174:   - linux
  175:   - amd64
  176: 
  177: .centos-6-amd64: &centos-6-amd64_env
  178:   image: registry.labs.nic.cz/labs/bird:centos-6-amd64
  179:   tags:
  180:   - docker
  181:   - linux
  182:   - amd64
  183: 
  184: .centos-7-amd64: &centos-7-amd64_env
  185:   image: registry.labs.nic.cz/labs/bird:centos-7-amd64
  186:   tags:
  187:   - docker
  188:   - linux
  189:   - amd64
  190: 
  191: .opensuse-42_3-amd64: &opensuse-42_3-amd64_env
  192:   image: registry.labs.nic.cz/labs/bird:opensuse-42.3-amd64
  193:   tags:
  194:   - docker
  195:   - linux
  196:   - amd64
  197: 
  198: .ubuntu-14_04-amd64: &ubuntu-14_04-amd64_env
  199:   image: registry.labs.nic.cz/labs/bird:ubuntu-14.04-amd64
  200:   tags:
  201:   - docker
  202:   - linux
  203:   - amd64
  204: 
  205: .ubuntu-16_04-amd64: &ubuntu-16_04-amd64_env
  206:   image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64
  207:   tags:
  208:   - docker
  209:   - linux
  210:   - amd64
  211: 
  212: # TODO We want to copy these BSDs to our own virtual machines, to make sure someone doesn't update them by accident.
  213: .freebsd-11-i386: &freebsd-11-i386_env
  214:   tags:
  215:   - freebsd
  216:   - i386
  217:   #only:
  218:   #- master
  219:   #- triggers
  220:   #- tags
  221: 
  222: .freebsd-11-amd64: &freebsd-11-amd64_env
  223:   tags:
  224:   - freebsd
  225:   - amd64
  226:   #only:
  227:   #- master
  228:   #- triggers
  229:   #- tags
  230: 
  231: .build: &build_job
  232:   stage: build
  233:   script:
  234:   - autoreconf
  235:   - ./configure --enable-ipv6=$IPV6 CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS"
  236:   # Detect which make is available
  237:   - MAKE=make
  238:   - which gmake 2>/dev/null >/dev/null && MAKE=gmake
  239:   - $MAKE
  240:   # Run tests if they are available (eg. don't fail if "check" isn't a valid make target)
  241:   - $MAKE check || [ "$?" = 2 ]
  242: 
  243: build-debian-7-amd64:
  244:   variables:
  245:     IPV6: "no"
  246:   <<: *debian-7-amd64_env
  247:   <<: *build_job
  248: 
  249: build-debian-8-amd64:
  250:   variables:
  251:     IPV6: "no"
  252:   <<: *debian-8-amd64_env
  253:   <<: *build_job
  254: 
  255: build-debian-9-amd64:
  256:   variables:
  257:     IPV6: "no"
  258:   <<: *debian-9-amd64_env
  259:   <<: *build_job
  260: 
  261: build-debian-testing-amd64:
  262:   variables:
  263:     IPV6: "no"
  264:   <<: *debian-testing-amd64_env
  265:   <<: *build_job
  266: 
  267: build-debian-7-amd64-v6:
  268:   variables:
  269:     IPV6: "yes"
  270:   <<: *debian-7-amd64_env
  271:   <<: *build_job
  272: 
  273: build-debian-8-amd64-v6:
  274:   variables:
  275:     IPV6: "yes"
  276:   <<: *debian-8-amd64_env
  277:   <<: *build_job
  278: 
  279: build-debian-9-amd64-v6:
  280:   variables:
  281:     IPV6: "yes"
  282:   <<: *debian-9-amd64_env
  283:   <<: *build_job
  284: 
  285: build-debian-testing-amd64-v6:
  286:   variables:
  287:     IPV6: "yes"
  288:   <<: *debian-testing-amd64_env
  289:   <<: *build_job
  290: 
  291: build-fedora-25-amd64:
  292:   variables:
  293:     IPV6: "no"
  294:   <<: *fedora-25-amd64_env
  295:   <<: *build_job
  296: 
  297: build-fedora-25-amd64-v6:
  298:   variables:
  299:     IPV6: "yes"
  300:   <<: *fedora-25-amd64_env
  301:   <<: *build_job
  302: 
  303: build-fedora-26-amd64:
  304:   variables:
  305:     IPV6: "no"
  306:   <<: *fedora-26-amd64_env
  307:   <<: *build_job
  308: 
  309: build-fedora-26-amd64-v6:
  310:   variables:
  311:     IPV6: "yes"
  312:   <<: *fedora-26-amd64_env
  313:   <<: *build_job
  314: 
  315: build-centos-6-amd64:
  316:   variables:
  317:     IPV6: "no"
  318:   <<: *centos-6-amd64_env
  319:   <<: *build_job
  320: 
  321: build-centos-6-amd64-v6:
  322:   variables:
  323:     IPV6: "yes"
  324:   <<: *centos-6-amd64_env
  325:   <<: *build_job
  326: 
  327: build-centos-7-amd64:
  328:   variables:
  329:     IPV6: "no"
  330:   <<: *centos-7-amd64_env
  331:   <<: *build_job
  332: 
  333: build-centos-7-amd64-v6:
  334:   variables:
  335:     IPV6: "yes"
  336:   <<: *centos-7-amd64_env
  337:   <<: *build_job
  338: 
  339: build-opensuse-42_3-amd64:
  340:   variables:
  341:     IPV6: "no"
  342:   <<: *opensuse-42_3-amd64_env
  343:   <<: *build_job
  344: 
  345: build-opensuse-42_3-amd64-v6:
  346:   variables:
  347:     IPV6: "yes"
  348:   <<: *opensuse-42_3-amd64_env
  349:   <<: *build_job
  350: 
  351: build-ubuntu-14_04-amd64:
  352:   variables:
  353:     IPV6: "no"
  354:   <<: *ubuntu-14_04-amd64_env
  355:   <<: *build_job
  356: 
  357: build-ubuntu-14_04-amd64-v6:
  358:   variables:
  359:     IPV6: "yes"
  360:   <<: *ubuntu-14_04-amd64_env
  361:   <<: *build_job
  362: 
  363: build-ubuntu-16_04-amd64:
  364:   variables:
  365:     IPV6: "no"
  366:   <<: *ubuntu-16_04-amd64_env
  367:   <<: *build_job
  368: 
  369: build-ubuntu-16_04-amd64-v6:
  370:   variables:
  371:     IPV6: "yes"
  372:   <<: *ubuntu-16_04-amd64_env
  373:   <<: *build_job
  374: 
  375: build-debian-7-i386:
  376:   variables:
  377:     IPV6: "no"
  378:   <<: *debian-7-i386_env
  379:   <<: *build_job
  380: 
  381: build-debian-7-i386-v6:
  382:   variables:
  383:     IPV6: "yes"
  384:   <<: *debian-7-i386_env
  385:   <<: *build_job
  386: 
  387: build-debian-8-i386:
  388:   variables:
  389:     IPV6: "no"
  390:   <<: *debian-8-i386_env
  391:   <<: *build_job
  392: 
  393: build-debian-8-i386-v6:
  394:   variables:
  395:     IPV6: "yes"
  396:   <<: *debian-8-i386_env
  397:   <<: *build_job
  398: 
  399: build-debian-9-i386:
  400:   variables:
  401:     IPV6: "no"
  402:   <<: *debian-9-i386_env
  403:   <<: *build_job
  404: 
  405: build-debian-9-i386-v6:
  406:   variables:
  407:     IPV6: "yes"
  408:   <<: *debian-9-i386_env
  409:   <<: *build_job
  410: 
  411: build-debian-testing-i386:
  412:   variables:
  413:     IPV6: "no"
  414:   <<: *debian-testing-i386_env
  415:   <<: *build_job
  416: 
  417: build-debian-testing-i386-v6:
  418:   variables:
  419:     IPV6: "yes"
  420:   <<: *debian-testing-i386_env
  421:   <<: *build_job
  422: 
  423: build-freebsd-11-amd64:
  424:   variables:
  425:     IPV6: "no"
  426:   <<: *freebsd-11-amd64_env
  427:   <<: *build_job
  428: 
  429: build-freebsd-11-amd64-v6:
  430:   variables:
  431:     IPV6: "yes"
  432:   <<: *freebsd-11-amd64_env
  433:   <<: *build_job
  434: 
  435: build-freebsd-11-i386:
  436:   variables:
  437:     IPV6: "no"
  438:   <<: *freebsd-11-i386_env
  439:   <<: *build_job
  440: 
  441: build-freebsd-i386-v6:
  442:   variables:
  443:     IPV6: "yes"
  444:   <<: *freebsd-11-i386_env
  445:   <<: *build_job

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