blob: be46a2a7471eaa128faf16f5ed2bf01d96556df0 [file] [log] [blame]
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