Skip to content
Snippets Groups Projects
.gitlab-ci.yml 17.87 KiB
variables:
  DEBIAN_FRONTEND: noninteractive
  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
  RESPERF_FORCE: 0
  KNOT_VERSION: '2.7'

image: $CI_REGISTRY/knot/knot-resolver/ci/debian-buster:knot-$KNOT_VERSION

stages:
  - build
  - test
  - coverage
  - extended
  - 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:
    - docker
    - linux
    - amd64

build:linux:amd64:
  <<: *build

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