#!/bin/bash # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. set -eo pipefail if [ -f Cargo.toml ]; then # Ensure that all targets can be built. cargo build -r --all-targets #Ensure that code is correctly formatted. cargo fmt --check || (echo "Run cargo fmt to fix formatting" && exit 1) # Ensure that clippy warnings are addressed. cargo clippy --all-targets --no-deps -- -Dwarnings # Ensure that all modifications are included. # TODO refine status checking. if git status -s | grep -e "MM " -e "??" -e "AM " -e " M " > /dev/null; then printf "\nUnstaged changes found:\n" git status -s | grep -e "MM " -e "??" -e "AM " -e " M " echo "Stage them and try again" exit 1 fi fi