name: macOS on: push jobs: build-test: name: Build & unit tests & sanity check runs-on: macOS-latest strategy: matrix: knot-version: ['3.2', '3.3'] steps: - name: Checkout resolver code uses: actions/checkout@v2 with: submodules: true - name: Install dependecies from brew run: brew install cmocka luajit libuv lmdb meson nghttp2 autoconf automake m4 libtool pkg-config - name: Install libknot from sources env: KNOT_DNS_VERSION: ${{ matrix.knot-version }} run: | git clone -b ${KNOT_DNS_VERSION} https://gitlab.nic.cz/knot/knot-dns.git cd knot-dns autoreconf -fi ./configure --prefix=${HOME}/.local/usr --disable-static --disable-fastparser --disable-documentation --disable-daemon --disable-utilities --with-lmdb=no make -j2 install cd .. - name: Build resolver run: | export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${HOME}/.local/usr/lib/pkgconfig" meson build_darwin --default-library=static --buildtype=debugoptimized --prefix=${HOME}/.local/usr -Dc_args='-fno-omit-frame-pointer' ninja -C build_darwin -v install - name: Run unit tests env: MALLOC_CHECK_: 3 MALLOC_PERTURB_: 223 run: meson test -C build_darwin --suite unit - name: Run kresd env: MALLOC_CHECK_: 3 MALLOC_PERTURB_: 223 run: | export DYLD_FALLBACK_LIBRARY_PATH="${DYLD_FALLBACK_LIBRARY_PATH}:${HOME}/.local/usr/lib/" echo "quit()" | ${HOME}/.local/usr/sbin/kresd -a 127.0.0.1@53535 .