Skip to content

Next

Next #957

Workflow file for this run

name: Test CI
on: [push, pull_request, workflow_dispatch]
env:
qemu-version: 8.2.0
arceos-apps: '68054e8'
jobs:
aarch64-generic-qemu:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
plat: [aarch64-generic]
rust-toolchain: [nightly-2025-05-20, nightly]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust-toolchain }}
components: rust-src
- uses: Swatinem/rust-cache@v2
- run: cargo install cargo-binutils
- uses: arceos-org/[email protected]
with:
version: ${{ env.qemu-version }}
arch_list: aarch64
- uses: ./.github/workflows/actions/setup-nimbos-guest-image
with:
nimbos-version: 'tags/v0.7'
arch: aarch64
disk-path: ${{ github.workspace }}/disk-aarch64.img
- name: Update rust-toolchain.toml
run: |
sed -i "s/^channel = .*/channel = \"${{ matrix.rust-toolchain }}\"/" rust-toolchain.toml
- name: Run guests
continue-on-error: ${{ matrix.rust-toolchain == 'nightly' }}
run: |
chmod +x axvisor.sh
cargo version
export DISK_IMG="${{ github.workspace }}/disk-aarch64.img"
export VM_CONFIGS="$(pwd)/configs/vms/nimbos-aarch64-qemu-smp1.toml"
./scripts/auto_interrupt.sh ./axvisor.sh run --plat ${{ matrix.plat }} --vmconfigs $VM_CONFIGS --features fs,ept-level-4 --arceos-args DISK_IMG=$DISK_IMG,BUS=mmio,BLK=y,MEM=8g,LOG=info
aarch64-generic-phytiumpi:
runs-on: [self-hosted, linux, phytiumpi]
strategy:
fail-fast: false
matrix:
plat: [aarch64-generic]
rust-toolchain: [nightly-2025-05-20]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust-toolchain }}
components: rust-src
# - uses: Swatinem/rust-cache@v2
- run: cargo install cargo-binutils
- name: Update rust-toolchain.toml
run: |
sed -i "s/^channel = .*/channel = \"${{ matrix.rust-toolchain }}\"/" rust-toolchain.toml
- name: Run guests on phytiumpi
continue-on-error: ${{ matrix.rust-toolchain == 'nightly' }}
run: |
cargo install ostool --force
git clone https://github.com/arceos-hypervisor/axboard_test
cd axboard_test
./run.sh phytiumpi-arceos
cd ..
aarch64-generic-rk3568:
runs-on: [self-hosted, linux, roc-rk3568-pc]
strategy:
fail-fast: false
matrix:
plat: [aarch64-generic]
rust-toolchain: [nightly-2025-05-20]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust-toolchain }}
components: rust-src
# - uses: Swatinem/rust-cache@v2
- run: cargo install cargo-binutils
- name: Update rust-toolchain.toml
run: |
sed -i "s/^channel = .*/channel = \"${{ matrix.rust-toolchain }}\"/" rust-toolchain.toml
- name: Run guests on rk3568
continue-on-error: ${{ matrix.rust-toolchain == 'nightly' }}
run: |
cargo install ostool --force
git clone https://github.com/arceos-hypervisor/axboard_test
cd axboard_test
./run.sh rk3568-arceos
cd ..
x86-qemu-q35:
runs-on: [self-hosted, linux, intel]
strategy:
fail-fast: false
matrix:
plat: [x86-qemu-q35]
rust-toolchain: [nightly-2025-05-20, nightly]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust-toolchain }}
components: rust-src
# - uses: Swatinem/rust-cache@v2
- run: cargo install cargo-binutils
# - uses: arceos-org/[email protected]
# with:
# version: ${{ env.qemu-version }}
# arch_list: x86_64
- uses: ./.github/workflows/actions/setup-nimbos-guest-image
with:
nimbos-version: 'tags/v0.7'
arch: x86_64
disk-path: ${{ github.workspace }}/disk-x86_64.img
# - name: Enable KVM group perms
# run: |
# echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
# sudo udevadm control --reload-rules
# sudo udevadm trigger --name-match=kvm
- name: Update rust-toolchain.toml
run: |
sed -i "s/^channel = .*/channel = \"${{ matrix.rust-toolchain }}\"/" rust-toolchain.toml
- name: Run guests
continue-on-error: ${{ matrix.rust-toolchain == 'nightly' }}
run: |
cargo version
export DISK_IMG="${{ github.workspace }}/disk-x86_64.img"
export VM_CONFIGS="$(pwd)/configs/vms/nimbos-x86_64-qemu-smp1.toml"
./scripts/auto_interrupt.sh ./axvisor.sh run --plat ${{ matrix.plat }} --vmconfigs $VM_CONFIGS --features fs --arceos-args DISK_IMG=$DISK_IMG,BLK=y,LOG=info