name: CI on: push: branches: - main paths-ignore: - '.github/workflows/docs.yaml' - 'doc/oper-guide/**' - 'CREDITS' - 'LICENSE' - 'NEWS.md' - 'README.md' pull_request: branches: - main paths-ignore: - '.github/workflows/docs.yaml' - 'doc/oper-guide/**' - 'CREDITS' - 'LICENSE' - 'NEWS.md' - 'README.md' jobs: linux: name: Linux runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: # Debian 11 Bullseye - os: ubuntu-22.04 compiler: gcc-10 - os: ubuntu-22.04 compiler: clang-11 # Debian 12 Bookworm - os: ubuntu-24.04 compiler: gcc-12 - os: ubuntu-24.04 compiler: clang-14 # Debian 13 Trixie - os: ubuntu-24.04 compiler: gcc-14 - os: ubuntu-24.04 compiler: clang-19 # Ubuntu 22.04 Jammy - os: ubuntu-22.04 compiler: gcc-11 - os: ubuntu-22.04 compiler: clang-14 # Ubuntu 24.04 Noble - os: ubuntu-24.04 compiler: gcc-13 - os: ubuntu-24.04 compiler: clang-18 env: CC: ${{ matrix.compiler }} RUNNING_IN_CI: yes steps: - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ ${CC} \ automake \ autoconf \ libtool \ libltdl-dev \ libsqlite3-dev \ libhyperscan-dev \ # EOF - uses: actions/checkout@main with: persist-credentials: false submodules: recursive - name: autogen.sh run: bash autogen.sh - name: configure run: ./configure --enable-assert=hard --enable-warnings - name: make run: make -j2 - name: make check run: make check - name: make install run: make install