Skip to content
This repository was archived by the owner on Jan 4, 2026. It is now read-only.

Development

Development #165

Workflow file for this run

# .github/workflows/main.yml
name: CI/CD Pipeline
on:
pull_request:
branches: [ main, dev ]
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup build environment
run: |
sudo apt-get update
sudo apt-get install -y \
nasm \
xorriso \
grub-pc-bin \
grub-common \
qemu-system-x86 \
mtools \
lld \
llvm \
cmake ninja-build
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh -s -- -y
source ~/.cargo/env
rustup target add x86_64-unknown-none
- name: Compile & Link (CMake)
run: |
source ~/.cargo/env
mkdir cmake-build
cd cmake-build
cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DVF_SCHEDULER=EEVDF \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/linux-x64.cmake \
-DCMAKE_ASM_NASM_COMPILER=$(which nasm)
cd ..
ninja -C cmake-build -j$(nproc) iso
- name: Artifact Analysis
run: |
timeout 7s ninja -C cmake-build runmin || true
grep -q "1KCSWF23Z456789" cmake-build/bootstrap.log
! grep -i "panic\|fault\|crash\|oops\|error\|failed" cmake-build/serial.log
ls -la cmake-build/voidframe.krnl
test -s cmake-build/voidframe.krnl
# Check if ISO was created
ls -la cmake-build/VoidFrame.iso
test -s cmake-build/VoidFrame.iso
file cmake-build/voidframe.krnl | grep -q "ELF.*executable"
# Verify kernel size is reasonable (not empty, not huge)
KERNEL_SIZE=$(stat -c%s cmake-build/voidframe.krnl)
test $KERNEL_SIZE -gt 100000 # > 100KB
test $KERNEL_SIZE -lt 10000000 # < 10MB
# Check ISO bootability
file cmake-build/VoidFrame.iso | grep -q "ISO.*bootable"
- name: Upload kernel artifacts
uses: actions/upload-artifact@v4
with:
name: voidframe-build-${{ github.sha }}
path: |
cmake-build/voidframe.krnl
cmake-build/VoidFrame.iso
retention-days: 10