add link for qemu #88
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test CI | |
on: [push, pull_request] | |
env: | |
qemu-version: 7.1.0 | |
rust-toolchain: nightly-2023-09-01 | |
jobs: | |
unit-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.rust-toolchain }} | |
components: rust-src, llvm-tools-preview | |
- name: Run unit tests | |
run: make unittest_no_fail_fast | |
app-test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
arch: [x86_64, riscv64, aarch64] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.rust-toolchain }} | |
components: rust-src, llvm-tools-preview | |
- uses: actions-rs/[email protected] | |
with: | |
crate: cargo-binutils | |
version: latest | |
use-tool-cache: true | |
- name: Install gcc multilib | |
run: sudo apt update && sudo apt install -y gcc-multilib | |
- uses: ./.github/workflows/actions/setup-qemu | |
with: | |
qemu-version: ${{ env.qemu-version }} | |
- uses: ./.github/workflows/actions/setup-musl | |
with: | |
arch: ${{ matrix.arch }} | |
- name: Run app tests | |
run: | | |
make disk_img | |
make test ARCH=${{ matrix.arch }} | |
bench-test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
arch: [x86_64, aarch64] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.rust-toolchain }} | |
components: rust-src, llvm-tools-preview | |
- uses: actions-rs/[email protected] | |
with: | |
crate: cargo-binutils | |
version: latest | |
use-tool-cache: true | |
- name: Install gcc-multilib seabios libclang-dev | |
run: sudo apt update && sudo apt install -y gcc-multilib seabios libclang-dev | |
- name: Install redis-tools | |
run: sudo apt update && sudo apt install -y redis-tools | |
- name: Install psutils | |
run: sudo apt update && sudo apt install python3-pip && pip install psutil | |
- uses: ./.github/workflows/actions/setup-qemu | |
with: | |
qemu-version: ${{ env.qemu-version }} | |
- uses: ./.github/workflows/actions/setup-musl | |
with: | |
arch: ${{ matrix.arch }} | |
- name: Run bench tests | |
run: | | |
timeout 3600 python scripts/test/app_eval.py ${{ matrix.arch }} |