Skip to content

DO NOT MERGE, skip other CI configs #4215

DO NOT MERGE, skip other CI configs

DO NOT MERGE, skip other CI configs #4215

Workflow file for this run

name: CI
on:
push:
branches-ignore:
- 'ci/**'
- '!ci/gha**'
- 'dependabot/**'
pull_request:
branches:
- 'master'
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
gcc-qemu:
strategy:
fail-fast: false
matrix:
include:
- version: 11
cross: aarch64
arch_gnu: aarch64
arch_deb: arm64
distro: ubuntu-22.04
- version: 14
cross: armel
arch_gnu_abi: eabi
arch_deb: armel
arch_gnu: arm
distro: ubuntu-24.04
- version: 14
cross: armv7
arch_gnu: arm
arch_gnu_abi: eabihf
arch_deb: armhf
distro: ubuntu-24.04
- version: 14
cross: aarch64
arch_gnu: aarch64
arch_deb: arm64
distro: ubuntu-24.04
- extra: -32bit
version: 14
cross: armv8
arch_gnu: arm
arch_gnu_abi: eabihf
arch_deb: armhf
distro: ubuntu-24.04
- version: 14
cross: riscv64
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-24.04
- extra: -O3
version: 14
cross: riscv64
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-24.04
- version: 14
cross: s390x
arch_gnu: s390x
arch_deb: s390x
distro: ubuntu-24.04
- version: 14
cross: power9
arch_gnu: powerpc64le
arch_deb: ppc64el
distro: ubuntu-24.04
- version: 14
cross: mips64el
arch_gnu: mips64el
arch_gnu_abi: abi64
arch_deb: mips64el
distro: ubuntu-24.04
runs-on: ${{ matrix.distro }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: sudo apt-get update
- name: CPU Information
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
sudo apt-get update -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa
sudo apt-get -yq install ninja-build parallel \
gcc-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }} \
g++-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }} binfmt-support \
qemu-user-static pipx libc6-${{ matrix.arch_deb }}-cross libstdc++-${{ matrix.version }}-dev-${{ matrix.arch_deb }}-cross
pipx install meson==0.55.1
- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.job }}-${{ matrix.version}}-${{ matrix.distro }}-${{ matrix.cross }}
- name: add ccache to the build path
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
- name: Configure
run: meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-gcc-${{ matrix.version }}${{ matrix.extra}}-ccache.cross build
- name: Build
run: ninja -C build -v
- name: Test
run: meson test -C build --print-errorlogs --print-errorlogs $(meson test -C build --list | grep -v emul)
linux-gcc-loongarch64:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CPU Information
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
sudo apt-get update && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa && \
sudo apt-get install -y --no-install-recommends \
ninja-build ninja-build meson qemu-user-static binfmt-support \
libc6-loong64-cross libstdc++-14-dev-loong64-cross \
gcc-14-loongarch64-linux-gnu g++-14-loongarch64-linux-gnu
- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.job }}-gcc-14
- name: Configure
run: meson setup build --cross-file=docker/cross-files/loongarch64-gcc-14-ccache.cross || (cat build/meson-logs/meson-log.txt ; false)
- name: Build
run: meson compile -C build -v
- name: Test
run: meson test -C build --print-errorlogs