-
f33eb605
This GitLab CI configuration is valid.
Learn more
.gitlab-ci.yml 2.81 KiB
variables:
DEBIAN_FRONTEND: noninteractive
LC_ALL: C.UTF-8
GIT_STRATEGY: fetch
stages:
- configure
- build
- test
- deploy
.debian_stretch: &debian_stretch
image: cznic/debian:stretch-knot-v2
tags:
- docker
- linux
- amd64
.ubuntu_xenial: &ubuntu_xenial
image: cznic/ubuntu:16.04-knot
tags:
- docker
- linux
- amd64
.debian_stretch_armel: &debian_stretch_armel
image: cznic/armel-debian-knot
tags:
- docker
- linux
- arm
.configure: &configure_job
stage: configure
script:
- autoreconf -fi
- ./configure --disable-fastparser
artifacts:
untracked: true
expire_in: '1 hour'
.build: &build_job
stage: build
script:
- make -k all
artifacts:
untracked: true
expire_in: '1 hour'
.test: &test_job
stage: test
script:
- make -k check
configure:ubuntu:amd64:
<<: *ubuntu_xenial
<<: *configure_job
except:
- tags
- docs-*
build:ubuntu:amd64:
<<: *ubuntu_xenial
<<: *build_job
dependencies:
- configure:ubuntu:amd64
except:
- tags
- docs-*
test:ubuntu:amd64:
<<: *ubuntu_xenial
<<: *test_job
dependencies:
- build:ubuntu:amd64
except:
- tags
- docs-*
configure:debian:stretch:amd64:
<<: *debian_stretch
<<: *configure_job
build:debian:stretch:amd64:
<<: *debian_stretch
<<: *build_job
dependencies:
- configure:debian:stretch:amd64
test:debian:stretch:amd64:
<<: *debian_stretch
<<: *test_job
dependencies:
- build:debian:stretch:amd64
configure:debian:stretch:armel:
<<: *debian_stretch_armel
<<: *configure_job
only:
- triggers
build:debian:stretch:armel:
<<: *debian_stretch_armel
<<: *build_job
dependencies:
- configure:debian:stretch:armel
only:
- triggers
test:debian:stretch:armel:
<<: *debian_stretch_armel
<<: *test_job
dependencies:
- build:debian:stretch:armel
only:
- triggers
build:documentation:
<<: *debian_stretch
stage: build
dependencies:
- configure:debian:stretch:amd64
only:
- tags
- triggers
- docs-*
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_stretch
stage: deploy
before_script:
- apt-get update
- apt-get -y install curl
only:
- tags
- triggers
- docs-*
script:
- "curl --http1.1 --request POST --form token=$WEBSITE_TOKEN --form ref=master --form \"variables[RELEASE_CI_BUILD_REF_NAME]=$CI_BUILD_REF_NAME\" --form \"variables[RELEASE_CI_BUILD_ID]=$CI_BUILD_ID\" https://gitlab.labs.nic.cz/api/v3/projects/5/trigger/builds"
artifacts:
name: "knot-dns-$CI_BUILD_REF_NAME-doc"
paths:
- doc/_build/html/
- doc/_build/singlehtml/
- doc/_build/latex/knot.pdf