From dd135a60898e4a39040ca7c6c97500580a64ce5c Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sun, 15 Mar 2026 14:51:43 +0100 Subject: [PATCH] Add Windows installer build workflow --- .github/workflows/windows-installer.yml | 63 +++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/windows-installer.yml diff --git a/.github/workflows/windows-installer.yml b/.github/workflows/windows-installer.yml new file mode 100644 index 0000000..d9e91ac --- /dev/null +++ b/.github/workflows/windows-installer.yml @@ -0,0 +1,63 @@ +name: Build Windows Installer + +on: + workflow_dispatch: + push: + branches: + - main + - master + pull_request: + +jobs: + build-windows: + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Set up Rust + uses: dtolnay/rust-toolchain@stable + + - name: Install Windows build tools + shell: pwsh + run: | + choco install ffmpeg nsis -y --no-progress + "C:\ProgramData\chocolatey\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + "${env:ProgramFiles(x86)}\NSIS" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Verify bundled-tool prerequisites + shell: pwsh + run: | + python --version + rustc -Vv + cargo -V + Get-Command ffmpeg + Get-Command ffprobe + Get-Command makensis + + - name: Install Tauri CLI + shell: pwsh + run: cargo install tauri-cli --locked --version "^2" + + - name: Prepare bundled backend assets + shell: pwsh + run: python tools/prepare_bundle.py + + - name: Build Windows NSIS installer + shell: pwsh + run: cargo tauri build --bundles nsis + + - name: Upload installer artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: windows-installer + if-no-files-found: warn + path: | + src-tauri/target/release/bundle/nsis/*