name: Build and test
on:
  push:
    branches:
    - master
  pull_request:
jobs:
  build-linux:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: install packages
      run: sudo apt update && sudo apt install nettle-dev clang-tidy
    - name: cmake
      run: cmake -B build -DUSE_NETTLE=1 -DWARNINGS_AS_ERRORS=1 -DCLANG_TIDY=ON
    - name: make
      run: (cd build; make)
    - name: test
      run: ./build/tests
  build-macos:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v4
    - name: cmake
      run: cmake -B build -DWARNINGS_AS_ERRORS=1 -DENABLE_LOCAL_ADDRESS_TRANSLATION=1
    - name: make
      run: (cd build; make)
    - name: test
      run: ./build/tests
  build-windows:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v4
    - uses: ilammy/msvc-dev-cmd@v1
    - name: cmake
      run: cmake -B build -G "NMake Makefiles" -DWARNINGS_AS_ERRORS=1
    - name: nmake
      run: |
        cd build
        nmake
    - name: test
      run: build/tests.exe

