@@ -218,28 +218,29 @@ runs:
218218
219219 Write-Host "::endgroup::"
220220
221- # ── Step 3: Build mcp-windbg-rs from source ─────────────────────────
222- - name : Build MCP Server
223- id : build -server
221+ # ── Step 3: Download mcp-windbg-rs binary ──── ─────────────────────────
222+ - name : Download MCP Server
223+ id : download -server
224224 if : env.SKIP_ANALYSIS != 'true'
225225 shell : pwsh
226226 run : |
227- Write-Host "::group::Step 3 - Build mcp-windbg-rs from source "
227+ Write-Host "::group::Step 3 - Download mcp-windbg-rs"
228228
229- $env:RUSTFLAGS = "-C target-feature=+crt-static"
230- cargo build --release 2>&1 | ForEach-Object { Write-Host $_ }
231- if ($LASTEXITCODE -ne 0) {
232- Write-Host "::error::Failed to build mcp-windbg-rs"
233- exit 1
234- }
229+ $repo = "FlorentinoJink/mcp-windbg"
230+ $apiUrl = "https://api.github.com/repos/$repo/releases/latest"
235231
236- $serverPath = Join-Path $env:GITHUB_WORKSPACE "target\release\mcp-windbg-rs.exe"
237- if (-not (Test-Path $serverPath)) {
238- Write-Host "::error::Binary not found at $serverPath"
232+ $release = Invoke-RestMethod -Uri $apiUrl -Headers @{ "User-Agent" = "mcp-windbg-action" }
233+ $asset = $release.assets | Where-Object { $_.name -like '*.exe' } | Select-Object -First 1
234+ if (-not $asset) {
235+ Write-Host "::error::No .exe asset in release $($release.tag_name)"
239236 exit 1
240237 }
241238
242- Write-Host "Built: $serverPath ($((Get-Item $serverPath).Length) bytes)"
239+ $serverPath = Join-Path $env:GITHUB_WORKSPACE "mcp-windbg-rs.exe"
240+ Write-Host "Downloading $($asset.name) ..."
241+ Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $serverPath -UseBasicParsing
242+
243+ Write-Host "Downloaded: $serverPath ($((Get-Item $serverPath).Length) bytes)"
243244 echo "MCP_SERVER_PATH=$serverPath" >> $env:GITHUB_ENV
244245 Write-Host "::endgroup::"
245246
0 commit comments