Skip to content

Merge pull request #12 from hanbings/feat/uefi #9

Merge pull request #12 from hanbings/feat/uefi

Merge pull request #12 from hanbings/feat/uefi #9

Workflow file for this run

name: Test
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: riscv64gc-unknown-none-elf
toolchain: nightly-2025-03-31
- name: Install cargo-binutils and rust-objcopy
run: |
rustup component add llvm-tools-preview
cargo install cargo-binutils
- name: Build with Makefile
run: |
make defconfig
make
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dev dependencies
run: |
sudo apt update
sudo apt install -y uuid-dev
- name: Build EDK2
run: sh scripts/test/build_edk2.sh
- name: Generate disk image
run: sh scripts/test/disk.sh
- name: Set up QEMU
run: |
sudo apt update
sudo apt install -y qemu-system-misc
# Test 1: HelloRiscv
- name: Create ESP (HelloRiscv)
run: EFI_NAME=HelloRiscv sh scripts/test/make_esp.sh
- name: Run QEMU (HelloRiscv)
run: make qemu-run > qemu-hello.log
- name: Upload QEMU log (HelloRiscv)
uses: actions/upload-artifact@v4
with:
name: log-hello
path: qemu-hello.log
- name: Check QEMU output (HelloRiscv)
run: sh scripts/test/check_hello_test.sh
# Test 2: AllocatePage
- name: Create ESP (AllocatePage)
run: EFI_NAME=AllocatePage sh scripts/test/make_esp.sh
- name: Run QEMU (AllocatePage)
run: make qemu-run > qemu-allocate.log
- name: Upload QEMU log (AllocatePage)
uses: actions/upload-artifact@v4
with:
name: log-allocate
path: qemu-allocate.log
- name: Check QEMU output (AllocatePage)
run: sh scripts/test/check_allocate_test.sh