.unit-tests:
  script:
    - ./autogen && ./configure
    - make check

.unit-tests-asan:
  script:
    - ./autogen && ./configure --enable-sanitize
    - make check

.coverage:
  script:
    - ./autogen && ./configure --disable-static
    - make check CFLAGS="--coverage -O0 -ggdb" LDFLAGS="--coverage -O0 -ggdb"
    - gcovr -s -e test/
  coverage: /^TOTAL.*\s+(\d+\%)$/

.debian:
  image: debian:latest
  stage: test
  before_script:
    - apt-get update -qq
    - apt-get install -qq -y --no-install-recommends
              git gcc make autoconf automake libtool libmd-dev gcovr

.alpine:
  image: alpine:latest
  stage: test
  before_script:
    - apk add --no-cache git gcc make autoconf automake libtool
              bsd-compat-headers linux-headers libmd-dev musl-dev gcovr

unit-tests:debian:
  extends: [.debian, .unit-tests-asan]

coverage:debian:
  extends: [.debian, .coverage]

unit-tests:alpine:
  extends: [.alpine, .unit-tests]

coverage:alpine:
  extends: [.alpine, .coverage]
