diff --git a/.github/workflows/unix-build.yml b/.github/workflows/unix-build.yml new file mode 100644 index 0000000..e65bd14 --- /dev/null +++ b/.github/workflows/unix-build.yml @@ -0,0 +1,45 @@ +# Various unix builds +name: unix CI +on: [push, pull_request] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + + defaults: + run: + shell: bash {0} + + + steps: + - name: Checkout + uses: actions/checkout@v4 + + # MacOS. We validate compilation of x86_64 and arm64, but only + # test arm64. This will also be using clang by default + - name: macOS specific + if: runner.os == 'macOS' + run: | + brew install autoconf automake libtool + autoreconf -i + ./configure CFLAGS="-g -O3 -Wall -Werror -arch arm64 -arch x86_64" + + # A slower build and test with address and undefined behaviour sanitizers + - name: Ubuntu-latest using gcc with sanitizers + if: runner.os == 'Linux' + run: | + autoreconf -i + ./configure CC="gcc -fsanitize=address,undefined" + + - name: Compile + run: | + make -j6 + + - name: Check + run: | + make check || cat tests/test-suite.log + diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index a7a4b24..0b1bb56 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -1,3 +1,4 @@ +# A faster alternative to AppVeyor name: Windows/MinGW-W64 on: [push, pull_request]