Fangjun Kuang
Committed by GitHub

Fix uploading win32 libs to huggingface (#2537)

This PR fixes the uploading process for win32 libraries to Hugging Face by updating Windows OS detection and correcting the file copy destination path.

- Replaces deprecated wmic command with PowerShell-based OS detection for better reliability
- Adds fallback mechanism using cmd /c ver when PowerShell is unavailable
- Corrects the destination path for win32 library archives to include version subdirectory
@@ -130,7 +130,7 @@ jobs: @@ -130,7 +130,7 @@ jobs:
130 dst=win32/$SHERPA_ONNX_VERSION 130 dst=win32/$SHERPA_ONNX_VERSION
131 mkdir -p $dst 131 mkdir -p $dst
132 132
133 - cp -v ../sherpa-onnx-*.tar.bz2 ./win32 133 + cp -v ../sherpa-onnx-*.tar.bz2 $dst
134 134
135 git status 135 git status
136 git lfs track "*.bz2" 136 git lfs track "*.bz2"
@@ -55,16 +55,30 @@ elseif(APPLE) @@ -55,16 +55,30 @@ elseif(APPLE)
55 ) 55 )
56 set(SHERPA_ONNX_OS "${_product_name} ${_product_version} ${_build_version}") 56 set(SHERPA_ONNX_OS "${_product_name} ${_product_version} ${_build_version}")
57 elseif(WIN32) 57 elseif(WIN32)
58 - execute_process(COMMAND  
59 - wmic os get caption,version  
60 - OUTPUT_VARIABLE SHERPA_ONNX_OS_TWO_LINES 58 + # Try PowerShell first to get OS name + version
  59 + execute_process(
  60 + COMMAND powershell -NoProfile -Command "(Get-CimInstance Win32_OperatingSystem).Caption + ' ' + (Get-CimInstance Win32_OperatingSystem).Version"
  61 + OUTPUT_VARIABLE SHERPA_ONNX_OS
61 OUTPUT_STRIP_TRAILING_WHITESPACE 62 OUTPUT_STRIP_TRAILING_WHITESPACE
  63 + ERROR_QUIET
62 ) 64 )
63 - # Now SHERPA_ONNX_OS_TWO_LINES contains something like  
64 - # Caption Version  
65 - # Microsoft Windows 10 Pro 10.0.18362  
66 - string(REPLACE "\n" ";" SHERPA_ONNX_OS_LIST ${SHERPA_ONNX_OS_TWO_LINES})  
67 - list(GET SHERPA_ONNX_OS_LIST 1 SHERPA_ONNX_OS) 65 +
  66 + if(NOT SHERPA_ONNX_OS)
  67 + message(WARNING "PowerShell not available, falling back to cmd /c ver")
  68 + # Fallback: cmd.exe /c ver (only version info, less detailed)
  69 + execute_process(
  70 + COMMAND cmd /c ver
  71 + OUTPUT_VARIABLE _cmd_out
  72 + OUTPUT_STRIP_TRAILING_WHITESPACE
  73 + ERROR_QUIET
  74 + )
  75 + string(REPLACE "\r" "" _cmd_out "${_cmd_out}")
  76 + if(_cmd_out)
  77 + set(SHERPA_ONNX_OS "Windows ${_cmd_out}")
  78 + else()
  79 + set(SHERPA_ONNX_OS "Windows (version unknown)")
  80 + endif()
  81 + endif()
68 else() 82 else()
69 set(SHERPA_ONNX_OS "Unknown") 83 set(SHERPA_ONNX_OS "Unknown")
70 endif() 84 endif()