| name: Linux | |
| on: | |
| push: | |
| branches: [ "*" ] | |
| 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 |