chore(release): bump version to v3.2.0 and unify Avalonia UI assets #15
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Pipeline | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| jobs: | |
| build-and-release: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET 10 SDK | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '10.0.x' | |
| - name: Run Test Suite | |
| run: dotnet test --nologo -c Release | |
| - name: Build & Publish Avalonia WebAssembly UI | |
| shell: powershell | |
| run: | | |
| dotnet publish LocalLLMServerManager.Web/LocalLLMServerManager.Web.csproj -c Release -o wwwroot_wasm --nologo | |
| Remove-Item -Path "wwwroot\app.js" -ErrorAction SilentlyContinue | |
| Remove-Item -Path "wwwroot\index.css" -ErrorAction SilentlyContinue | |
| Remove-Item -Path "wwwroot\index.html" -ErrorAction SilentlyContinue | |
| Remove-Item -Path "wwwroot\wwwroot" -Recurse -Force -ErrorAction SilentlyContinue | |
| Copy-Item -Path "wwwroot_wasm\wwwroot\*" -Destination "wwwroot" -Recurse -Force | |
| Remove-Item -Path "wwwroot_wasm" -Recurse -Force | |
| - name: Publish Self-Contained Release (win-x64) | |
| run: | | |
| dotnet publish LocalLLMServerManager.csproj -c Release -r win-x64 --self-contained -o publish --nologo /p:PublishSingleFile=false | |
| - name: Create Release Zip Archive | |
| shell: powershell | |
| run: | | |
| New-Item -ItemType Directory -Path dist -Force | |
| Compress-Archive -Path "publish\*" -DestinationPath "dist\LocalLLMServerManager-${{ github.ref_name }}-win-x64.zip" -Force | |
| - name: Install Inno Setup | |
| run: choco install innosetup -y | |
| - name: Compile Inno Setup Installer | |
| shell: powershell | |
| run: | | |
| $iscc = "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" | |
| if (-not (Test-Path $iscc)) { $iscc = "C:\Program Files\Inno Setup 6\ISCC.exe" } | |
| & "$iscc" installer.iss | |
| - name: Package Installer Executable | |
| shell: powershell | |
| run: | | |
| $setupExe = Get-ChildItem -Path . -Filter "LocalLLMServerManager-*-Setup.exe" | Select-Object -First 1 | |
| if ($setupExe) { | |
| Move-Item -Path $setupExe.FullName -Destination "dist\LocalLLMServerManager-${{ github.ref_name }}-Setup.exe" -Force | |
| } | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| with: | |
| files: | | |
| dist/*.zip | |
| dist/*.exe | |
| generate_release_notes: true | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |