name: Compilation with different compilers

on:
  pull_request:
    branches:
     - master

jobs:
  build:
    name: compilation
    runs-on: ubuntu-24.04

    strategy:
      fail-fast: false
      matrix:
        compiler: ['gcc-10', 'gcc-11', 'gcc-12', 'gcc-13', 'gcc-14',
                   'clang-14', 'clang-15', 'clang-16', 'clang-17', 'clang-18']

    steps:
    - uses: actions/checkout@v5

    - name: Install build dependencies
      run: |
        sudo apt -y install ansible
        ansible-playbook -b -i "localhost," -c local misc/install-test-dependencies.yml -e "test_dependencies=false"

    - name: Install compiler
      run: |
        sudo apt -y install ${{ matrix.compiler }}

    - name: Configure
      run: |
        ./autogen.sh && CC=${{ matrix.compiler }} ./configure

    - name: Make
      run: |
        make
