name: Test CI on: [push, pull_request] env: qemu-version: 7.1.0 rust-toolchain: nightly jobs: unit-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ env.rust-toolchain }} components: rust-src - name: Run unit tests run: make unittest_no_fail_fast app-test-for-unikernel: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest] arch: [x86_64, riscv64, aarch64] steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ env.rust-toolchain }} components: rust-src - uses: actions-rs/install@v0.1 with: crate: cargo-binutils version: latest use-tool-cache: true - 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 }} app-test-for-monolithic: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest] arch: [x86_64, riscv64, aarch64] steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ env.rust-toolchain }} components: rust-src - uses: actions-rs/install@v0.1 with: crate: cargo-binutils version: latest use-tool-cache: true - 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_monolithic ARCH=${{ matrix.arch }}