Skip to content

.github/workflows/test.yml: Support VirtIO storage drivers in QEMU #712

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 16, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
test_in_qemu:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand All @@ -18,16 +18,27 @@ jobs:
repository: 'Dasharo/open-source-firmware-validation'
ref: 'develop'
submodules: 'recursive'
fetch-depth: 0

- name: Download workflow artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.artifact_name }}

- name: Set up QEMU
- name: Set up required tools
run: |
sudo apt-get update
sudo apt-get install qemu-system-x86-64 swtpm
sudo apt-get install qemu-system-x86-64 swtpm git-annex

# Pulling secure-boot/sb_test_data.img fails, carry on anyway
- name: Set up osfv-test-data
run: |
pushd osfv-test-data
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
git annex pull || true
./setup.sh
popd

- name: Enable KVM group perms
run: |
Expand All @@ -36,6 +47,8 @@ jobs:
sudo udevadm trigger --name-match=kvm

# OSFV scripts/ci/qemu-run.sh expects QEMU_FW_FILE="./qemu_q35.rom"
# VirtIO disks will be mounted dynamically later with esp-scanning.robot,
# no need to create and attach one here with `os` instead of `firmware`
- name: Start QEMU in background
run: |
mv coreboot.rom qemu_q35.rom
Expand All @@ -55,3 +68,7 @@ jobs:
run: |
robot -b command_log_CBK001.001.txt -v fw_file:qemu_q35.rom -v snipeit:no -L TRACE -v config:qemu -v rte_ip:127.0.0.1 -t "CBK001.001*" dasharo-compatibility/custom-boot-menu-key.robot
robot -b command_log_CBK002.001.txt -v fw_file:qemu_q35.rom -v snipeit:no -L TRACE -v config:qemu -v rte_ip:127.0.0.1 -t "CBK002.001*" dasharo-compatibility/custom-boot-menu-key.robot

- name: Start esp-scanning.robot
run: |
robot -d ./logs/$(date +%Y.%m.%d_%H.%M.%S)/self-tests -v fw_file:qemu_q35.rom -v snipeit:no -L TRACE -v config:qemu -v rte_ip:127.0.0.1 dasharo-compatibility/esp-scanning.robot