#!/bin/bash
# Presubmit script for CI/CD

# Exit on error, and exit on unset variables.
set -o errexit
set -o nounset

# Create .cargo/config.toml for the musl target
# TODO: add a line for mac.
BASE_DIR=$(dirname "$0")
mkdir -p "$BASE_DIR/.cargo"
cat > "$BASE_DIR/.cargo/config.toml" <<EOL
[target.x86_64-unknown-linux-musl]
rustflags = ["-C", "linker=clang", "-C", "link-arg=-fuse-ld=lld"]

[target.x86_64-unknown-linux-gnu]
rustflags = ["-C", "linker=clang", "-C", "link-arg=-fuse-ld=lld"]
EOL

# Install tools.
. "$(dirname "$0")/infra/env_setup.sh"

# Print commands as they're executed.
set -o xtrace

# Change to the rust directory to run cargo commands.
cd "$(dirname "$0")/rust"

# 1. Build the code.
# `set -e` will cause the script to exit if this fails.
cargo build

# 2. Check formatting.
# `cargo fmt -- --check` will exit with a non-zero status code if any
# files are not formatted correctly.
if ! cargo fmt -- --check; then
    { set +x; } 2>/dev/null
    echo "Please run \`cargo fmt\` to format your code"
    exit 1
fi


# 3. Run tests.
# `set -e` will cause the script to exit if any tests fail.
cargo test

{ set +x; } 2>/dev/null
echo "Presubmit checks passed!"
