name: Cloud Hypervisor Quality Checks on: [pull_request, create] jobs: build: if: github.event_name == 'pull_request' name: Quality (clippy, rustfmt) runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: rust: - stable target: - x86_64-unknown-linux-gnu experimental: [false] include: - rust: beta target: x86_64-unknown-linux-gnu experimental: true steps: - name: Code checkout uses: actions/checkout@v2 - name: Install Rust toolchain (${{ matrix.rust }}) uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true components: rustfmt, clippy - name: Formatting (rustfmt) run: cargo fmt -- --check - name: Clippy (all features,kvm) run: cargo clippy --all --all-targets --no-default-features --tests --features "common,kvm" -- -D warnings - name: Clippy (all features,mshv) run: cargo clippy --all --all-targets --no-default-features --tests --features "common,mshv" -- -D warnings - name: Clippy (acpi,kvm) run: cargo clippy --all --all-targets --no-default-features --tests --features "acpi,kvm" -- -D warnings - name: Clippy (acpi,kvm,tdx) run: cargo clippy --all --all-targets --no-default-features --tests --features "acpi,kvm,tdx" -- -D warnings - name: Clippy (kvm) run: cargo clippy --all --all-targets --no-default-features --tests --features "kvm" -- -D warnings - name: Clippy (acpi,mshv) run: cargo clippy --all --all-targets --no-default-features --tests --features "acpi,mshv" -- -D warnings - name: Clippy (mshv) run: cargo clippy --all --all-targets --no-default-features --tests --features "mshv" -- -D warnings - name: Clippy (integration tests) run: cargo clippy --all --all-targets --tests --features "integration_tests" -- -D warnings