diff --git a/artifact_huggingface_download.sh b/artifact_huggingface_download.sh index 6c670d5..88907ba 100755 --- a/artifact_huggingface_download.sh +++ b/artifact_huggingface_download.sh @@ -638,18 +638,11 @@ verify_model_download() { local expected_size_gb="$2" local filename_filter="$3" - # DEBUG: Show what we're checking - echo "DEBUG_BASH: Checking repo_id='$repo_id' filter='$filename_filter' CACHE_DIR='$CACHE_DIR'" >&2 - # Find model files in cache # Capture both stdout (file paths) and stderr (error messages) local find_output find_output=$(find_model_files "$repo_id" "$filename_filter" 2>&1) - # DEBUG: Show raw output - echo "DEBUG_BASH: find_output length=${#find_output}" >&2 - echo "DEBUG_BASH: find_output first 200 chars: ${find_output:0:200}" >&2 - # Separate file paths from error/debug messages local model_files model_files=$(echo "$find_output" | grep -v "^ERROR:" | grep -v "^WARN:" | grep -v "^DEBUG:") @@ -680,13 +673,17 @@ verify_model_download() { cache_path=$(echo "$model_files" | head -n1 | xargs dirname) # Get modification time of first file - local mod_time="" + local mod_time="Unknown" if [[ -n "$model_files" ]]; then local first_file first_file=$(echo "$model_files" | head -n1) if [[ -f "$first_file" ]]; then - mod_time=$(stat -f "%Sm" -t "%Y-%m-%d %H:%M:%S" "$first_file" 2>/dev/null || \ - stat -c "%y" "$first_file" 2>/dev/null | cut -d'.' -f1 || echo "Unknown") + # Try Linux stat first (most common), then macOS stat + if stat -c "%y" "$first_file" >/dev/null 2>&1; then + mod_time=$(stat -c "%y" "$first_file" 2>/dev/null | cut -d'.' -f1) + elif stat -f "%Sm" "$first_file" >/dev/null 2>&1; then + mod_time=$(stat -f "%Sm" -t "%Y-%m-%d %H:%M:%S" "$first_file" 2>/dev/null) + fi fi fi