summaryrefslogtreecommitdiffstats
path: root/.github/workflows/macOS.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/macOS.yaml')
-rw-r--r--.github/workflows/macOS.yaml52
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 .