name: Linux on: push: branches: [ "*" ] tags: [ "*" ] pull_request: branches: [ "trunk" ] env: MARGS: "-j2" jobs: build: strategy: matrix: include: - name: Default - name: Static config: --enable-static - name: Maintainer-mode config: --enable-maintainer-mode - name: Pool-debug config: --enable-pool-debug - name: Pool-debug, maintainer-mode config: --enable-pool-debug --enable-maintainer-mode - name: Maintainer-mode, no IPv6 config: --enable-maintainer-mode --disable-ipv6 - name: Maintainer-mode, -Werror notest-cflags: -Werror config: --enable-maintainer-mode - name: ASan # w/o ODBC since DSO unload leaks memory and fails the tests notest-cflags: -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer -Werror -O2 config: --with-odbc=no - name: ASan, pool-debug # w/o ODBC since DSO unload leaks memory and fails the tests notest-cflags: -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer -Werror -O2 config: --enable-pool-debug --with-odbc=no - name: UBsan notest-cflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -Werror -O2 fail-fast: false runs-on: ubuntu-latest env: NOTEST_CFLAGS: ${{ matrix.notest-cflags }} name: ${{ matrix.name }} steps: - name: Install prerequisites run: sudo apt-get install libtool libtool-bin - uses: actions/checkout@v3 - name: buildconf run: ./buildconf - name: configure run: ./configure ${{ matrix.config }} - name: make run: make $MARGS - name: make check run: make check