#!/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"