Files
systemd/.github/workflows/build-test.yml
T
Luca Boccassi 3f4b726348 ci: add build coverage for riscv64
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
2026-06-02 13:20:29 +01:00

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