---
# vi: ts=2 sw=2 et:
# SPDX-License-Identifier: LGPL-2.1-or-later
#
name: Build test
on:
  pull_request:
    paths:
      - '**/meson.build'
      - '.github/workflows/**'
      - 'meson_options.txt'
      - 'src/**'
      - 'test/fuzz/**'

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-24.04
    concurrency:
      group: ${{ github.workflow }}-${{ toJSON(matrix.env) }}-${{ github.ref }}
      cancel-in-progress: true
    strategy:
      fail-fast: false
      matrix:
        env:
          - { COMPILER: "gcc",   COMPILER_VERSION: "11", LINKER: "bfd",  CRYPTOLIB: "gcrypt"  }
          - { COMPILER: "gcc",   COMPILER_VERSION: "13", LINKER: "mold", CRYPTOLIB: "openssl" }
          - { COMPILER: "clang", COMPILER_VERSION: "14", LINKER: "mold", CRYPTOLIB: "gcrypt"  }
          - { COMPILER: "clang", COMPILER_VERSION: "16", LINKER: "bfd",  CRYPTOLIB: "openssl" }
          - { COMPILER: "clang", COMPILER_VERSION: "18", LINKER: "lld",  CRYPTOLIB: "auto"    }
    env: ${{ matrix.env }}
    steps:
      - name: Repository checkout
        uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
      - name: Build check
        run: .github/workflows/build_test.sh