From d42ef186a19be916befb6be5acc3609b779288ed Mon Sep 17 00:00:00 2001 From: Sebastien Boeuf Date: Wed, 11 Dec 2019 08:38:46 +0100 Subject: [PATCH] ci: Offload cargo tests to the worker node VM Because the resources on the amount of worker nodes we can have access to through Travis is limited, we offload the burden of running all tests related to Cargo inside the Azure VM directly. This will have the positive effect of stopping the build very early in case something goes wrong during the Cargo testing. Signed-off-by: Sebastien Boeuf --- Jenkinsfile | 5 +++++ scripts/run_cargo_tests.sh | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100755 scripts/run_cargo_tests.sh diff --git a/Jenkinsfile b/Jenkinsfile index b837f9865..5abc0936b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -20,6 +20,11 @@ pipeline{ sh "nohup curl https://sh.rustup.rs -sSf | sh -s -- -y" } } + stage ('Run Cargo tests') { + steps { + sh "scripts/run_cargo_tests.sh" + } + } stage ('Run unit tests') { steps { sh "scripts/run_unit_tests.sh" diff --git a/scripts/run_cargo_tests.sh b/scripts/run_cargo_tests.sh new file mode 100755 index 000000000..8a7a41aaf --- /dev/null +++ b/scripts/run_cargo_tests.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -e +set -x + +source $HOME/.cargo/env + +# Install cargo components +rustup component add clippy +rustup component add rustfmt +cargo install --force cargo-audit + +# Run cargo builds and checks +cargo rustc --bin cloud-hypervisor -- -D warnings +cargo rustc --bin vhost_user_net -- -D warnings +cargo test +cargo audit +cargo rustc --bin cloud-hypervisor --no-default-features --features "pci,acpi" -- -D warnings +cargo rustc --bin vhost_user_net --no-default-features --features "pci,acpi" -- -D warnings +cargo clippy --all-targets --all-features -- -D warnings +cargo rustc --bin cloud-hypervisor --no-default-features --features "pci" -- -D warnings +cargo rustc --bin vhost_user_net --no-default-features --features "pci" -- -D warnings +cargo rustc --bin cloud-hypervisor --no-default-features --features "mmio" -- -D warnings +cargo rustc --bin vhost_user_net --no-default-features --features "mmio" -- -D warnings +find . -name "*.rs" | xargs rustfmt --check +cargo build --release