Skip to content

Build Windows Installer + Portable + Server #6

Build Windows Installer + Portable + Server

Build Windows Installer + Portable + Server #6

name: Build Windows Installer
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: write
jobs:
build-windows-exe:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET 10
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.300'
- name: Publish Desktop (win-x64, self-contained)
run: |
dotnet publish src/FlipsiForge.Desktop/FlipsiForge.Desktop.csproj `
-c Release -r win-x64 --self-contained true `
-p:PublishSingleFile=true -p:PublishTrimmed=false `
-o dist/win-desktop
- name: Install Inno Setup
run: choco install innosetup -y
- name: Compile .exe Installer
run: iscc installer/flipsiforge.iss
- name: Upload .exe to GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.event.release.tag_name || 'v0.4.0' }}
files: dist/FlipsiForge-*-win-x64-setup.exe
token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload .exe as Artifact (fallback)
uses: actions/upload-artifact@v4
with:
name: FlipsiForge-win-x64-setup
path: dist/FlipsiForge-*-win-x64-setup.exe