Skip to content

Fix qos-test and updated CI pipeline #184

Fix qos-test and updated CI pipeline

Fix qos-test and updated CI pipeline #184

Workflow file for this run

# ci.yml, WR QEMU github CI configuration file.
#
# Copyright (c) 2026 Wind River Systems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
name: WR QEMU CI
on:
push:
branches:
- wr-integration
pull_request:
branches:
- wr-integration
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Checkout QEMU source
uses: actions/checkout@v4
with:
repository: Wind-River/qemu
path: qemu
# Use a specific branch or tag if needed
# ref: wr-integration
- name: Cache apt packages
uses: actions/cache@v4
with:
path: ~/apt-cache
key: apt-${{ runner.os }}-${{ hashFiles('qemu/.github/workflows/ci.yml') }}
restore-keys: |
apt-${{ runner.os }}-
- name: Set up dependencies
run: |
sudo mkdir -p ~/apt-cache
sudo apt-get update
sudo apt-get install -y -o Dir::Cache::Archives="$HOME/apt-cache" \
acpica-tools \
autoconf \
automake \
bison \
bzip2 \
build-essential \
ccache \
cmake \
curl \
flex \
git \
lftp \
libaio-dev \
libcapstone-dev \
libelf1 \
libfdt-dev \
libglib2.0-dev \
libncurses5-dev \
libpixman-1-dev \
libslirp-dev \
libx11-6 \
libxext6 \
libxpm4 \
libz-dev \
make \
ninja-build \
python3 \
python3-pip \
screen \
texinfo \
unzip \
vsftpd \
wget \
zlib1g-dev
- name: Cache ccache
uses: actions/cache@v4
with:
path: ~/.cache/ccache
key: ccache-${{ runner.os }}-${{ github.sha }}
restore-keys: |
ccache-${{ runner.os }}-
- name: Configure ccache
run: |
ccache --set-config=max_size=1G
ccache --zero-stats
- name: Build QEMU
working-directory: qemu
run: |
export PATH="/usr/lib/ccache:$PATH"
./configure --target-list="aarch64-softmmu,x86_64-softmmu" --enable-fdt --enable-plugins --enable-slirp --enable-capstone --disable-vhost-net --disable-vhost-user
make -j$(nproc)
make plugins
make check-build
- name: Print ccache stats
run: ccache --show-stats
- name: Run QEMU tests
working-directory: qemu
run: |
V=1 make check
- name: Upload test logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: meson-test-logs
path: qemu/build/meson-logs/testlog.txt