LC_ALL: C.UTF-8
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: clone # sometimes unclean submodule dirs otherwise
- PREFIX: $CI_PROJECT_DIR/.local
- LD_LIBRARY_PATH: $CI_PROJECT_DIR/.local/lib
RESPDIFF_PRIORITY: 5
RESPDIFF_COUNT: 1
RESPDIFF_FORCE: 0
- deploy
.build: &build
- variables:
- CFLAGS: -ggdb
stage: build
except:
- master
- script:
- - rm daemon/lua/kres-gen.lua
- - make -k all
- - STATUS="$(git status --untracked-files=normal --porcelain)"
- - test -n "${STATUS}" && echo "${STATUS}" && echo "Build + install made working tree dirty, did you forget to update something?" && exit 2
- - make install
artifacts:
untracked: true
tags:
build:linux:amd64:
<<: *build
+ script:
+ - meson build_ci --default-library=both --prefix=$CI_PROJECT_DIR/.local -Dwerror=true
+ - ninja -v -C build_ci
+ - ninja -v -C build_ci kres-gen
+ - STATUS="$(git status --untracked-files=normal --porcelain)"
+ - test -n "${STATUS}" && echo "${STATUS}" && echo "Build made working tree dirty, did you forget to update something?" && exit 2
+ - ninja -C build_ci install
build:asan:linux:amd64:
<<: *build
- variables:
- CFLAGS: -ggdb3 -O0 -fsanitize=address -fno-omit-frame-pointer
-
-build:turris:omnia:
- image: $CI_REGISTRY/knot/knot-resolver/ci/turris:omnia
- stage: build
- except:
- - master
script:
- - ./scripts/make-archive.sh
- - cp knot-resolver*.tar.xz /tmp/turris/dl/
- - ./scripts/make-distrofiles.sh
- - cp -r distro/turris /tmp/turris/package/knot-resolver
- - pushd /tmp/turris
- - export PATH=$PATH:$PWD/staging_dir/toolchain-*/bin
- - USE_CCACHE=n make CC=arm-openwrt-linux-gcc CXX=arm-openwrt-linux-g++ LD=arm-openwrt-linux-ld -C $PWD V=s
- - popd
- - cp /tmp/turris/bin/mvebu-musl/packages/base/*.ipk ./
- artifacts:
- paths:
- - "*.ipk"
- tags:
- - docker
- - linux
- - amd64
+ - meson build_ci --default-library=static --prefix=$CI_PROJECT_DIR/.local -Db_sanitize=address,undefined
+ - ninja -v -C build_ci
+ - ninja -C build_ci install
+
+# NOTE: build for turris when meson is available and packaging files updated
+#build:turris:omnia:
+# image: $CI_REGISTRY/knot/knot-resolver/ci/turris:omnia
+# stage: build
+# except:
+# - master
+# script:
+# - ./scripts/make-archive.sh
+# - cp knot-resolver*.tar.xz /tmp/turris/dl/
+# - ./scripts/make-distrofiles.sh
+# - cp -r distro/turris /tmp/turris/package/knot-resolver
+# - pushd /tmp/turris
+# - export PATH=$PATH:$PWD/staging_dir/toolchain-*/bin
+# - USE_CCACHE=n make CC=arm-openwrt-linux-gcc CXX=arm-openwrt-linux-g++ LD=arm-openwrt-linux-ld -C $PWD V=s
+# - popd
+# - cp /tmp/turris/bin/mvebu-musl/packages/base/*.ipk ./
+# artifacts:
+# paths:
+# - "*.ipk"
+# tags:
+# - docker
+# - linux
+# - amd64
lint:pedantic:
stage: test # could be in build already, but let's not block the test stage if this fails