GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: clone # sometimes unclean submodule dirs otherwise
COVERAGE: '1'
+ PREFIX: $CI_PROJECT_DIR/.local
+ LD_LIBRARY_PATH: $CI_PROJECT_DIR/.local/lib
stages:
- build
build:linux:amd64:
stage: build
script:
- - PREFIX=$(pwd)/.local make -k all CFLAGS=-Werror
- - PREFIX=$(pwd)/.local make install CFLAGS=-Werror
+ - make -k all CFLAGS=-Werror
+ - make install CFLAGS=-Werror
artifacts:
untracked: true
tags:
stage: build
image: $CI_REGISTRY/knot/knot-resolver/ci:debian-unstable # newer Debian for newer Clang
script:
- - CXX=clang++-5.0 CC=clang-5.0 PREFIX=$(pwd)/.local make -k all "CFLAGS=-Werror -Wno-error=unused-command-line-argument"
- - CXX=clang++-5.0 CC=clang-5.0 PREFIX=$(pwd)/.local make install CFLAGS=-Werror
+ - CXX=clang++-5.0 CC=clang-5.0 make -k all "CFLAGS=-Werror -Wno-error=unused-command-line-argument"
+ - CXX=clang++-5.0 CC=clang-5.0 make install CFLAGS=-Werror
tags:
- docker
- linux
test:linux:amd64:
stage: test
script:
- - PREFIX=$(pwd)/.local make -k check
- - PREFIX=$(pwd)/.local MAKEFLAGS="--jobs $(nproc)" make coverage-c COVERAGE_STAGE=gcov-check
+ - make -k check
+ - MAKEFLAGS="--jobs $(nproc)" make coverage-c COVERAGE_STAGE=gcov-check
dependencies:
- build:linux:amd64
artifacts:
installcheck:linux:amd64:
stage: test
script:
- - PREFIX=$(pwd)/.local MAKEFLAGS="--jobs $(nproc) --keep-going" make -k installcheck
- - PREFIX=$(pwd)/.local MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-installcheck
+ - MAKEFLAGS="--jobs $(nproc) --keep-going" make -k installcheck
+ - MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-installcheck
dependencies:
- build:linux:amd64
artifacts:
except:
- schedules # prevent unstable test from cancelling nightly OBS build
script:
- - PREFIX=$(pwd)/.local MAKEFLAGS="--jobs $(nproc)" DECKARDFLAGS="-n $(nproc)" make check-integration
- - PREFIX=$(pwd)/.local MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-deckard
+ - MAKEFLAGS="--jobs $(nproc)" DECKARDFLAGS="-n $(nproc)" PATH="$PREFIX/sbin:$PATH" make check-integration
+ - MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-deckard
dependencies:
- build:linux:amd64
artifacts:
installcheck:valgrind:linux:amd64:
stage: test
script:
- - DEBUGGER="valgrind --leak-check=full --trace-children=yes --quiet --suppressions=/lj.supp" PREFIX=$(pwd)/.local make -k installcheck
+ - DEBUGGER="valgrind --leak-check=full --trace-children=yes --quiet --suppressions=/lj.supp" make -k installcheck
dependencies:
- build:linux:amd64
tags:
#deckard:linux:amd64:valgrind:
# stage: test
# script:
-# - export PREFIX=$(pwd)/.local
-# - export LD_LIBRARY_PATH=$PREFIX/lib
-# - export TMPDIR=$(pwd)
# # TODO: valgrind missing parameter --error-exitcode=1 to fail make on error
# - cd tests/deckard && DAEMON=valgrind ADDITIONAL="--leak-check=full --trace-children=yes --quiet --suppressions=/lj.supp $PREFIX/sbin/kresd -f 1" MAKEFLAGS="-j $(nproc) --keep-going" make
# artifacts:
test:linux:amd64:valgrind:
stage: test
+ variables:
+ TMPDIR: $CI_PROJECT_DIR
script:
- - TMPDIR=$(pwd) PREFIX=$(pwd)/.local DEBUGGER="valgrind --error-exitcode=1 --leak-check=full --trace-children=yes --quiet --suppressions=/lj.supp" make -k check
+ - DEBUGGER="valgrind --error-exitcode=1 --leak-check=full --trace-children=yes --quiet --suppressions=/lj.supp" make -k check
dependencies:
- build:linux:amd64
tags:
script:
- source <(./scripts/coverage_env.sh "$(pwd)" "$(pwd)/coverage.stats/respdiff" "iter/udp" --export)
- ulimit -n "$(ulimit -Hn)" # applies only for kresd ATM
- - PREFIX=$(pwd)/.local ./ci/respdiff/start-resolvers.sh
+ - ./ci/respdiff/start-resolvers.sh
- ./ci/respdiff/run-respdiff-tests.sh udp
- cat results/respdiff.txt
- echo 'test if mismatch rate < 0.8 %'
- grep -q '^target disagrees.*0\.[0-7][0-9] %' results/respdiff.txt
- killall --wait kresd
- - PREFIX=$(pwd)/.local MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-respdiff-iter-udp
+ - MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-respdiff-iter-udp
dependencies:
- build:linux:amd64
artifacts:
stage: test
script:
- source <(./scripts/coverage_env.sh "$(pwd)" "$(pwd)/coverage.stats/respdiff" "iter/tcp" --export)
- - PREFIX=$(pwd)/.local ./ci/respdiff/start-resolvers.sh
+ - ./ci/respdiff/start-resolvers.sh
- ./ci/respdiff/run-respdiff-tests.sh tcp
- cat results/respdiff.txt
- echo 'test if mismatch rate < 0.8 %'
- grep -q '^target disagrees.*0\.[0-7][0-9] %' results/respdiff.txt
- killall --wait kresd
- - PREFIX=$(pwd)/.local MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-respdiff-iter-tcp
+ - MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-respdiff-iter-tcp
dependencies:
- build:linux:amd64
artifacts:
stage: test
script:
- source <(./scripts/coverage_env.sh "$(pwd)" "$(pwd)/coverage.stats/respdiff" "iter/tls" --export)
- - PREFIX=$(pwd)/.local ./ci/respdiff/start-resolvers.sh
+ - ./ci/respdiff/start-resolvers.sh
- ./ci/respdiff/run-respdiff-tests.sh tls
- cat results/respdiff.txt
- echo 'test if mismatch rate < 0.8 %'
- grep -q '^target disagrees.*0\.[0-7][0-9] %' results/respdiff.txt
- killall --wait kresd
- - PREFIX=$(pwd)/.local MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-respdiff-iter-tls
+ - MAKEFLAGS="--jobs $(nproc)" make coverage-c coverage-lua COVERAGE_STAGE=gcov-respdiff-iter-tls
dependencies:
- build:linux:amd64
artifacts:
coverage:
stage: coverage
script:
- - PREFIX=$(pwd)/.local make coverage
+ - make coverage
artifacts:
expire_in: '1 week'
paths: