This is already a primary architecture in Ubuntu, and more distributions are adding support for it. It's too slow for emulation, but we can at least verify that compilation works. Use the arm worker, for two reasons: - it is already set up with ports.ubuntu.com so we don't have to muck with apt sources manually - it is used a lot less than the x86 worker
69 lines
2.6 KiB
YAML
69 lines
2.6 KiB
YAML
---
|
|
# 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
|
with:
|
|
persist-credentials: false
|
|
- name: Setup python
|
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Build check
|
|
run: .github/workflows/build-test.sh
|