Files
rustytorch/scripts/check_compilation.sh
T
2026-03-04 00:08:42 +00:00

102 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# RustyTorch++ Compilation Check Script
# Checks each crate and captures compilation status and errors
echo "RustyTorch++ Compilation Check"
echo "=============================="
echo "Date: $(date)"
echo ""
# Arrays to store results
declare -a passing_crates=()
declare -a failing_crates=()
# Function to check a single crate
check_crate() {
local crate=$1
echo -n "Checking $crate... "
# Capture both stdout and stderr, with timeout
output=$(timeout 60 cargo check -p "$crate" 2>&1)
exit_code=$?
if [ $exit_code -eq 0 ]; then
echo "✅ PASS"
passing_crates+=("$crate")
echo "$crate: PASS" >> compilation_results.txt
else
echo "❌ FAIL"
failing_crates+=("$crate")
echo "$crate: FAIL" >> compilation_results.txt
# Capture first few errors
echo "Errors for $crate:" >> compilation_results.txt
echo "$output" | grep -E "error\[|error:" | head -5 >> compilation_results.txt
echo "---" >> compilation_results.txt
fi
}
# Clear previous results
> compilation_results.txt
# Core crates
echo "=== Core Crates ==="
for crate in rtx-tensor rtx-runtime rtx-autograd rtx-memory rtx-kernel rtx-bindings rtx-graph rtx-validation rtx-losses rtx-tokenization rtx-nn; do
check_crate "$crate"
done
echo ""
echo "=== Training Crates ==="
for crate in rtx-transformers rtx-distributed rtx-preprocessing rtx-federated rtx-compress rtx-rl rtx-auto rtx-automeasure rtx-evolution rtx-flash-attention rtx-model-merging; do
check_crate "$crate"
done
echo ""
echo "=== Models Crates ==="
for crate in rtx-vision rtx-diffuse rtx-multimodal rtx-nlg rtx-llm-tools rtx-timeseries rtx-vision-advanced; do
check_crate "$crate"
done
echo ""
echo "=== Production Crates ==="
for crate in rtx-serving-api rtx-inference rtx-monitoring rtx-hub rtx-config rtx-streaming; do
check_crate "$crate"
done
echo ""
echo "=== Specialized Crates ==="
for crate in rtx-cfd rtx-science rtx-geom rtx-fea rtx-compiler rtx-platform rtx-synthesis rtx-ml-classic rtx-nmf rtx-polygraph rtx-sklearn-py; do
check_crate "$crate"
done
echo ""
echo "=== Data Crates ==="
for crate in rtx-data-validation rtx-etl rtx-feature-store; do
check_crate "$crate"
done
echo ""
echo "=== Tooling Crates ==="
for crate in rtx-bench rtx-eval; do
check_crate "$crate"
done
echo ""
echo "=== Meta Crates ==="
for crate in rtx rtx-core rtx-training rtx-inference-stack; do
check_crate "$crate"
done
# Summary
echo ""
echo "========================"
echo "COMPILATION SUMMARY"
echo "========================"
echo "Passing: ${#passing_crates[@]}"
echo "Failing: ${#failing_crates[@]}"
echo "Total: $((${#passing_crates[@]} + ${#failing_crates[@]}))"
echo "Success Rate: $(( ${#passing_crates[@]} * 100 / (${#passing_crates[@]} + ${#failing_crates[@]}) ))%"
echo ""
echo "Detailed results saved to: compilation_results.txt"