From 01ed5a3924d045f6a9caedd60a9d283da5ce84ae Mon Sep 17 00:00:00 2001 From: jkortis Date: Wed, 30 Sep 2026 23:39:40 -0400 Subject: [PATCH] ci: fix rust and wix pathing in windows runner --- .gitea/workflows/build.yaml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 5b5f05e..6b01ebc 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -16,11 +16,13 @@ jobs: - name: Install Rust shell: pwsh run: | - # Install rustup using the official Windows installer - Invoke-WebRequest -Uri "https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe" -OutFile "rustup-init.exe" - .\rustup-init.exe -y --default-toolchain stable - # Add cargo to PATH for the rest of the session - echo "$HOME\.cargo\bin" | Out-File -FilePath $env:GITHUB_PATH -Append -Encoding utf8 + $installDir = "$env:USERPROFILE\.cargo\bin" + if (-not (Test-Path $installDir)) { + Invoke-WebRequest -Uri "https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe" -OutFile "rustup-init.exe" + .\rustup-init.exe -y --default-toolchain stable + } + # Append to GITHUB_PATH for subsequent steps + Add-Content -Path $env:GITHUB_PATH -Value $installDir - name: Install LLVM run: choco install llvm --no-progress @@ -28,6 +30,8 @@ jobs: - name: Build Client shell: pwsh run: | + # Manually ensure cargo is in path for this specific shell session + $env:Path = "$env:USERPROFILE\.cargo\bin;" + $env:Path cd client cargo build --release @@ -36,7 +40,6 @@ jobs: run: | New-Item -ItemType Directory -Force -Path bin Copy-Item "client\target\release\meshvpn-client.exe" "bin\client.exe" - # Download Wintun.dll as it is a driver binary not stored in git Invoke-WebRequest -Uri "https://github.com/WireGuard/wintun/releases/latest/download/wintun.dll" -OutFile "bin\wintun.dll" - name: Install WiX Toolset @@ -45,8 +48,8 @@ jobs: - name: Build MSI Installer shell: pwsh run: | - # candle.exe compiles .wxs to .wixobj - # light.exe links .wixobj to .msi + # Add WiX bin to path (common choco install path) + $env:Path += ";C:\Program Files (x86)\WiX Toolset v3\bin" candle.exe installer\product.wxs -o installer\product.wixobj light.exe installer\product.wixobj -o meshvpn-client.msi