variables: DEBIAN_FRONTEND: noninteractive LC_ALL: C.UTF-8 GIT_STRATEGY: fetch stages: - docker - build - test - documentation - deploy docker:knot-dns:debian: stage: docker before_script: - docker info script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.labs.nic.cz - docker build -t "knot-dns/debian:latest" "scripts/docker/debian:latest" - docker tag "knot-dns/debian:latest" "registry.labs.nic.cz/knot/knot-dns/debian:latest" - docker push "registry.labs.nic.cz/knot/knot-dns/debian:latest" tags: - shell - linux docker:knot-dns:ubuntu: stage: docker before_script: - docker info script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.labs.nic.cz - docker build -t "knot-dns/ubuntu:latest" "scripts/docker/ubuntu:latest" - docker tag "knot-dns/ubuntu:latest" "registry.labs.nic.cz/knot/knot-dns/ubuntu:latest" - docker push "registry.labs.nic.cz/knot/knot-dns/ubuntu:latest" tags: - shell - linux docker:knot-dns:centos: stage: docker before_script: - docker info script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.labs.nic.cz - docker build -t "knot-dns/centos:latest" "scripts/docker/centos:latest" - docker tag "knot-dns/centos:latest" "registry.labs.nic.cz/knot/knot-dns/centos:latest" - docker push "registry.labs.nic.cz/knot/knot-dns/centos:latest" tags: - shell - linux docker:knot-dns:fedora: stage: docker before_script: - docker info script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.labs.nic.cz - docker build -t "knot-dns/fedora:latest" "scripts/docker/fedora:latest" - docker tag "knot-dns/fedora:latest" "registry.labs.nic.cz/knot/knot-dns/fedora:latest" - docker push "registry.labs.nic.cz/knot/knot-dns/fedora:latest" tags: - shell - linux .freebsd_i386: &freebsd_i386 tags: - freebsd - i386 only: - master - triggers - tags .freebsd_amd64: &freebsd_amd64 tags: - freebsd - amd64 only: - master - triggers - tags .fedora_latest: &fedora_latest image: "registry.labs.nic.cz/knot/knot-dns/fedora:latest" tags: - docker - linux - amd64 .centos_latest: ¢os_latest image: "registry.labs.nic.cz/knot/knot-dns/centos:latest" tags: - docker - linux - amd64 .debian_stable: &debian_stable image: "registry.labs.nic.cz/knot/knot-dns/debian:latest" tags: - docker - linux - amd64 .ubuntu_latest: &ubuntu_latest image: "registry.labs.nic.cz/knot/knot-dns/ubuntu:latest" tags: - docker - linux - amd64 .build: &build_job stage: build script: - autoreconf -fi - ./configure --disable-fastparser - make -k all artifacts: untracked: true expire_in: '1 hour' .test: &test_job stage: test script: - make -k check build:fedora:amd64: <<: *fedora_latest <<: *build_job test:fedora:amd64: <<: *fedora_latest <<: *test_job dependencies: - build:fedora:amd64 build:centos:amd64: <<: *centos_latest <<: *build_job test:centos:amd64: <<: *centos_latest <<: *test_job dependencies: - build:centos:amd64 build:ubuntu:amd64: <<: *ubuntu_latest <<: *build_job test:ubuntu:amd64: <<: *ubuntu_latest <<: *test_job dependencies: - build:ubuntu:amd64 build:debian:amd64: <<: *debian_stable <<: *build_job test:debian:amd64: <<: *debian_stable <<: *test_job dependencies: - build:debian:amd64 build:freebsd:i386: <<: *freebsd_i386 <<: *build_job test:freebsd:i386: <<: *freebsd_i386 <<: *test_job dependencies: - build:freebsd:i386 build:freebsd:amd64: <<: *freebsd_amd64 <<: *build_job test:freebsd:amd64: <<: *freebsd_amd64 <<: *test_job dependencies: - build:freebsd:amd64 build:archive: <<: *debian_stable stage: build script: - autoreconf -fi - mkdir _build - cd _build - ../configure - make distcheck only: - tags - triggers artifacts: paths: - _build/*.tar.xz build:documentation: <<: *debian_stable stage: documentation only: - tags - triggers dependencies: - build:debian:amd64 script: - make -C doc html singlehtml pdf artifacts: paths: - doc/_build/html/ - doc/_build/singlehtml/ - doc/_build/latex/knot.pdf expire_in: '1 hour' deploy:documentation: <<: *debian_stable stage: deploy dependencies: - build:documentation only: - tags - triggers script: - "curl --http1.1 --request POST --form token=$WEBSITE_TOKEN --form ref=master --form \"variables[RELEASE_CI_BUILD_REF_NAME]=$CI_COMMIT_REF_NAME\" --form \"variables[RELEASE_CI_BUILD_ID]=$CI_JOB_ID\" https://gitlab.labs.nic.cz/api/v3/projects/5/trigger/builds" artifacts: name: "knot-dns-$CI_COMMIT_REF_NAME-doc" paths: - doc/_build/html/ - doc/_build/singlehtml/ - doc/_build/latex/knot.pdf