| 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 |