Skip to content

Remove boardless stage1 files, update CI and make #17

Remove boardless stage1 files, update CI and make

Remove boardless stage1 files, update CI and make #17

Workflow file for this run

# SPDX-FileCopyrightText: 2026 Alexandre Gomes Gaigalas <alganet@gmail.com>
#
# SPDX-License-Identifier: Apache-2.0
name: Build
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
env:
QEMU_VERSION: "10.1.4"
jobs:
build-and-test:
runs-on: ubuntu-24.04
strategy:
matrix:
include:
- arch: riscv64
board: virt
- arch: riscv64
board: sifive_u
- arch: aarch64
board: virt
- arch: aarch64
board: raspi3b
steps:
- uses: actions/checkout@v5
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y libglib2.0-dev libpixman-1-dev libslirp-dev \
ninja-build flex python3-venv
- name: Cache QEMU
id: cache-qemu
uses: actions/cache@v4
with:
path: qemu-local
key: qemu-riscv64-aarch64-${{ env.QEMU_VERSION }}
- name: Build QEMU (riscv64 + aarch64)
if: steps.cache-qemu.outputs.cache-hit != 'true'
run: |
pip install meson
git clone --depth 1 --branch v${{ env.QEMU_VERSION }} \
https://gitlab.com/qemu-project/qemu.git /tmp/qemu-build
cd /tmp/qemu-build
./configure --target-list=riscv64-softmmu,aarch64-softmmu \
--prefix=${{ github.workspace }}/qemu-local \
--disable-docs --disable-gtk --disable-sdl \
--disable-opengl --disable-virglrenderer
make -j$(nproc)
make install
rm -rf /tmp/qemu-build
- name: Build
run: make ${{ matrix.arch }}
- name: Test
run: >
QEMU_RISCV64=qemu-local/bin/qemu-system-riscv64
QEMU_AARCH64=qemu-local/bin/qemu-system-aarch64
make test-${{ matrix.arch }}-${{ matrix.board }}