--- # 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: ${{ matrix.runner }} concurrency: group: ${{ github.workflow }}-${{ toJSON(matrix.env) }}-${{ github.ref }}-${{ matrix.runner }}-${{ matrix.python-version }} cancel-in-progress: true strategy: fail-fast: false matrix: runner: [ ubuntu-24.04 ] python-version: [ '' ] env: - { COMPILER: "gcc", COMPILER_VERSION: "11", LINKER: "bfd" } - { COMPILER: "gcc", COMPILER_VERSION: "13", LINKER: "mold" } - { COMPILER: "clang", COMPILER_VERSION: "14", LINKER: "mold" } - { COMPILER: "clang", COMPILER_VERSION: "16", LINKER: "bfd" } - { COMPILER: "clang", COMPILER_VERSION: "18", LINKER: "lld" } include: - env: { COMPILER: "gcc", COMPILER_VERSION: "11", LINKER: "bfd" } runner: [ ubuntu-24.04-ppc64le ] python-version: '' - env: { COMPILER: "gcc", COMPILER_VERSION: "13", LINKER: "mold" } runner: [ ubuntu-24.04-arm ] python-version: '' - env: { COMPILER: "gcc", COMPILER_VERSION: "13", LINKER: "bfd", CROSS_ARCH: "armhf" } runner: [ ubuntu-24.04-arm ] python-version: '' - env: { COMPILER: "gcc", COMPILER_VERSION: "13", LINKER: "bfd", CROSS_ARCH: "riscv64" } runner: [ ubuntu-24.04-arm ] python-version: '' - env: { COMPILER: "clang", COMPILER_VERSION: "18", LINKER: "lld" } runner: [ ubuntu-24.04-s390x ] python-version: '' # Do one run with the oldest supported python version to ensure there are no regressions # It is only available on Jammy, which is useful as it will also provide a build check for # older glibc - env: { COMPILER: "gcc", COMPILER_VERSION: "12", LINKER: "bfd", CUSTOM_PYTHON: "1" } runner: [ ubuntu-22.04 ] python-version: '3.9' env: ${{ matrix.env }} steps: - name: Repository checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with: persist-credentials: false - name: Setup python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 with: python-version: ${{ matrix.python-version }} - name: Build check run: .github/workflows/build-test.sh