name: Cloud Hypervisor RISC-V 64-bit Preview on: [pull_request, merge_group] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: name: Cargo runs-on: riscv64-qemu-host strategy: fail-fast: false matrix: module: - hypervisor - arch - vm-allocator - devices steps: - name: Code checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Rust toolchain run: /opt/scripts/exec-in-qemu.sh rustup default 1.77.0 - name: Build ${{ matrix.module }} Module (kvm) run: /opt/scripts/exec-in-qemu.sh cargo rustc --locked -p ${{ matrix.module }} --no-default-features --features "kvm" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states - name: Clippy ${{ matrix.module }} Module (kvm) run: /opt/scripts/exec-in-qemu.sh cargo clippy --locked -p ${{ matrix.module }} --no-default-features --features "kvm" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states - name: Test ${{ matrix.module }} Module (kvm) run: /opt/scripts/exec-in-qemu.sh cargo test --locked -p ${{ matrix.module }} --no-default-features --features "kvm" - name: Check no files were modified run: test -z "$(git status --porcelain)"