build:linux:amd64:
stage: build
+ except:
+ - master@knot/knot-resolver
script:
- rm daemon/lua/kres-gen.lua
- make -k all CFLAGS="-Werror -ggdb"
build:clang:linux:amd64:
stage: build
+ except:
+ - master@knot/knot-resolver
image: $CI_REGISTRY/knot/knot-resolver/ci/debian-unstable:knot-2.6 # newer Debian for newer Clang
script:
- rm daemon/lua/kres-gen.lua
srpm:
stage: build
+ except:
+ - master@knot/knot-resolver
allow_failure: true # don't block testing pipeline in case of failure
image: $CI_REGISTRY/knot/knot-resolver/ci:fedora-27
script:
lint:lua:
stage: test
+ except:
+ - master@knot/knot-resolver
dependencies: [] # do not download build artifacts
script:
- make lint-lua
lint:c:
stage: test
+ except:
+ - master@knot/knot-resolver
image: $CI_REGISTRY/knot/knot-resolver/ci/debian-unstable:knot-2.6 # newer Debian for newer Clang
dependencies: [] # do not download build artifacts
script:
lint:clang-scan-build:
allow_failure: true # for now it is just informative
stage: test
+ except:
+ - master@knot/knot-resolver
image: $CI_REGISTRY/knot/knot-resolver/ci/debian-unstable:knot-2.6 # newer Debian for newer Clang
dependencies: [] # do not download build artifacts
script:
test:linux:amd64:
stage: test
+ except:
+ - master@knot/knot-resolver
script:
# recompile everything otherwise lcov will bark because Git files will be "newer" than gcda files
# this is caused by interaction between Git approach to timestamps and Gitlab artifacts
installcheck:linux:amd64:
stage: test
+ except:
+ - master@knot/knot-resolver
script:
# recompile everything otherwise lcov will bark because Git files will be "newer" than gcda files
# this is caused by interaction between Git approach to timestamps and Gitlab artifacts
doc:
stage: test
+ except:
+ - master@knot/knot-resolver
script:
- SPHINXFLAGS="-W" make doc
dependencies: []
deckard:linux:amd64:
stage: test
+ except:
+ - master@knot/knot-resolver
variables:
TMPDIR: $CI_PROJECT_DIR
except:
installcheck:valgrind:linux:amd64:
stage: test
+ except:
+ - master@knot/knot-resolver
script:
- DEBUGGER="valgrind --leak-check=full --trace-children=yes --quiet --suppressions=/lj.supp" make -k installcheck
dependencies:
test:linux:amd64:valgrind:
stage: test
+ except:
+ - master@knot/knot-resolver
variables:
TMPDIR: $CI_PROJECT_DIR
script:
only:
- branches@knot/knot-resolver # do not trigger job for forks
except:
- - master
+ - master@knot/knot-resolver
script:
- export TESTDIR="/var/tmp/respdiff-jobs/$(git rev-parse --short HEAD)-gitlab/$RESPDIFF_TEST"
- >
respdiff:iter:udp:linux:amd64:
stage: test
+ except:
+ - master@knot/knot-resolver
script:
- source <(./scripts/coverage_env.sh "$(pwd)" "$(pwd)/coverage.stats/respdiff" "iter/udp" --export)
- ulimit -n "$(ulimit -Hn)" # applies only for kresd ATM
respdiff:iter:tcp:linux:amd64:
stage: test
+ except:
+ - master@knot/knot-resolver
script:
- source <(./scripts/coverage_env.sh "$(pwd)" "$(pwd)/coverage.stats/respdiff" "iter/tcp" --export)
- ./ci/respdiff/start-resolvers.sh
respdiff:iter:tls:linux:amd64:
stage: test
+ except:
+ - master@knot/knot-resolver
script:
- source <(./scripts/coverage_env.sh "$(pwd)" "$(pwd)/coverage.stats/respdiff" "iter/tls" --export)
- ./ci/respdiff/start-resolvers.sh
distro:fedora-27:
stage: test
+ except:
+ - master@knot/knot-resolver
image: $CI_REGISTRY/knot/knot-resolver/ci:fedora-27
only:
- branches@knot/knot-resolver # do not trigger job for forks (no privileged runners)
distro:epel-7:
stage: test
+ except:
+ - master@knot/knot-resolver
image: $CI_REGISTRY/knot/knot-resolver/ci:fedora-27
only:
- branches@knot/knot-resolver # do not trigger job for forks (no privileged runners)
# compute coverage for runs with COVERAGE=1
coverage:
stage: coverage
+ except:
+ - master@knot/knot-resolver
only:
variables:
- $COVERAGE == "1"
pages:
stage: deploy
only:
- refs:
- - master@knot/knot-resolver
- variables:
- - $COVERAGE == "1"
+ refs:
+ - nightly@knot/knot-resolver
+ variables:
+ - $COVERAGE == "1"
dependencies:
- coverage
script:
- scripts/build-in-obs.sh knot-dns-devel # build against latest development version of knot
- scripts/build-in-obs.sh knot-resolver-devel # build against knot in knot-resolver-latest
+# copy snapshot of current master to nightly branch for further processing
+# (this is workaround for missing complex conditions for job limits in Gitlab)
+nightly:copy:
+ stage: deploy
+ only:
+ variables:
+ - $CREATE_NIGHTLY == "1"
+ refs:
+ - master@knot/knot-resolver
+ dependencies: []
+ script:
+ # delete nightly branch
+ - 'curl --request DELETE --header "PRIVATE-TOKEN: $GITLAB_API_TOKEN" "https://gitlab.labs.nic.cz/api/v4/projects/147/repository/branches/nightly"'
+ # recreate nightly branch from current master
+ - 'curl --request POST --header "PRIVATE-TOKEN: $GITLAB_API_TOKEN" "https://gitlab.labs.nic.cz/api/v4/projects/147/repository/branches?branch=nightly&ref=master"'
+
+
#arm_build:
# image: cznic/armhf-ubuntu:16.04
# stage: build