diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/macOS.yaml | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/.github/workflows/macOS.yaml b/.github/workflows/macOS.yaml new file mode 100644 index 0000000..f7fe090 --- /dev/null +++ b/.github/workflows/macOS.yaml @@ -0,0 +1,52 @@ +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 . |