Skip to content
Snippets Groups Projects
macOS.yaml 1.64 KiB
Newer Older
Tomas Krizek's avatar
Tomas Krizek committed
name: macOS

on: push

jobs:
  build-test:
    name: Build & unit tests & sanity check
    runs-on: macOS-latest
Oto Šťáva's avatar
Oto Šťáva committed
    strategy:
      matrix:
        knot-version: ['3.3']
Tomas Krizek's avatar
Tomas Krizek committed

    steps:
      - name: Checkout resolver code
        uses: actions/checkout@v2
        with:
          submodules: true

      - name: Install dependecies from brew
        run:
Vladimír Čunát's avatar
Vladimír Čunát committed
          brew install cmocka luajit libuv lmdb meson nghttp2 autoconf automake m4 libtool pkg-config
Tomas Krizek's avatar
Tomas Krizek committed

      - name: Install libknot from sources
        env:
Oto Šťáva's avatar
Oto Šťáva committed
          KNOT_DNS_VERSION: ${{ matrix.knot-version }}
Tomas Krizek's avatar
Tomas Krizek committed
        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
Tomas Krizek's avatar
Tomas Krizek committed
          make -j2 install
          cd ..

      - name: Build resolver
        run: |
          export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${HOME}/.local/usr/lib/pkgconfig"
Tomas Krizek's avatar
Tomas Krizek committed
          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 .