Skip to content

Service Mode Agent Support #133

Service Mode Agent Support

Service Mode Agent Support #133

Workflow file for this run

name: E2E macOS (Virtualization.framework)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
e2e-macos:
name: E2E VZ (macOS Apple Silicon)
runs-on: macos-14
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
# ---- System dependencies ----
- name: Cache musl-cross toolchain
id: cache-musl
uses: actions/cache@v4
with:
path: |
/opt/homebrew/Cellar/musl-cross
/opt/homebrew/opt/musl-cross
/opt/homebrew/bin/aarch64-linux-musl-*
key: ${{ runner.os }}-musl-cross-1
- name: Install musl cross-compilation toolchain
if: steps.cache-musl.outputs.cache-hit != 'true'
run: |
brew install filosottile/musl-cross/musl-cross
- name: Relink musl-cross from cache
if: steps.cache-musl.outputs.cache-hit == 'true'
run: |
brew link musl-cross 2>/dev/null || true
- name: Verify musl-cross
run: |
which aarch64-linux-musl-gcc
aarch64-linux-musl-gcc --version
# ---- Rust toolchain ----
- name: Install Rust stable + aarch64 musl target
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-unknown-linux-musl
# ---- Cargo cache ----
- name: Cache cargo registry + build
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-e2e-vz-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-e2e-vz-
# ---- Build test initramfs ----
- name: Build test initramfs (guest-agent + claudio)
run: scripts/build_test_image.sh
# ---- Download prebuilt arm64 Linux kernel ----
- name: Download arm64 Linux kernel
run: |
scripts/download_kernel.sh
cp target/vmlinux-arm64 /tmp/void-box-kernel
# ---- Run conformance tests ----
- name: Run conformance E2E tests
env:
VOID_BOX_KERNEL: /tmp/void-box-kernel
VOID_BOX_INITRAMFS: /tmp/void-box-test-rootfs.cpio.gz
run: |
echo "Kernel: $VOID_BOX_KERNEL"
echo "Initramfs: $VOID_BOX_INITRAMFS"
ls -la "$VOID_BOX_KERNEL"
ls -la "$VOID_BOX_INITRAMFS"
# Run conformance tests (--ignored to include VM tests, sequential to avoid resource contention)
cargo test --test conformance -- --ignored --test-threads=1
- name: Snapshot round-trip
env:
VOID_BOX_KERNEL: /tmp/void-box-kernel
VOID_BOX_INITRAMFS: /tmp/void-box-test-rootfs.cpio.gz
run: cargo test --release --test snapshot_vz_integration -- --ignored --test-threads=1