@@ -74,16 +74,32 @@ jobs:
7474 - name : Build Windows (release)
7575 run : flutter build windows --release
7676
77- - name : Zip Windows artifact
77+ - name : Zip Windows artifact (portable)
7878 run : |
7979 $v = "${{ steps.version.outputs.version }}"
8080 $dir = "build\windows\x64\runner\Release"
8181 Compress-Archive -Path "$dir\*" -DestinationPath "Querya-Desktop-$v-windows.zip"
8282
83+ - name : Install Inno Setup
84+ run : choco install innosetup --no-progress -y
85+
86+ - name : Build Windows setup.exe (installable)
87+ shell : pwsh
88+ run : |
89+ $v = "${{ steps.version.outputs.version }}"
90+ $iscc = "${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe"
91+ if (!(Test-Path $iscc)) { throw "ISCC not found at $iscc" }
92+ & $iscc "/DMyAppVersion=$v" "packaging\windows\querya.iss"
93+ $setup = "dist-windows\Querya-Desktop-$v-windows-setup.exe"
94+ if (!(Test-Path $setup)) { throw "Setup not produced: $setup" }
95+ Copy-Item $setup "Querya-Desktop-$v-windows-setup.exe"
96+
8397 - uses : actions/upload-artifact@v4
8498 with :
8599 name : bundle-windows
86- path : Querya-Desktop-${{ steps.version.outputs.version }}-windows.zip
100+ path : |
101+ Querya-Desktop-${{ steps.version.outputs.version }}-windows.zip
102+ Querya-Desktop-${{ steps.version.outputs.version }}-windows-setup.exe
87103 if-no-files-found : error
88104
89105 build-linux :
@@ -124,6 +140,9 @@ jobs:
124140 cd build/linux/x64/release/bundle
125141 zip -r "${GITHUB_WORKSPACE}/Querya-Desktop-${{ steps.version.outputs.version }}-linux.zip" .
126142
143+ - name : Build Linux AppImage (installable)
144+ run : ./scripts/linux/build_appimage.sh
145+
127146 - name : Build Linux .deb (Debian/Ubuntu)
128147 run : ./scripts/linux/build_deb.sh
129148
@@ -132,6 +151,7 @@ jobs:
132151 name : bundle-linux
133152 path : |
134153 Querya-Desktop-${{ steps.version.outputs.version }}-linux.zip
154+ Querya-Desktop-${{ steps.version.outputs.version }}-linux.AppImage
135155 Querya-Desktop-${{ steps.version.outputs.version }}-linux.deb
136156 if-no-files-found : error
137157
@@ -249,7 +269,9 @@ jobs:
249269 find artifacts \( -name '*.zip' -o -name '*.AppImage' -o -name '*.deb' -o -name '*-windows-setup.exe' \) \
250270 -exec mv -t dist/ {} +
251271 test "$(find dist -name '*.zip' | wc -l)" -eq 3
272+ test "$(find dist -name '*.AppImage' | wc -l)" -eq 1
252273 test "$(find dist -name '*.deb' | wc -l)" -eq 1
274+ test "$(find dist -name '*-windows-setup.exe' | wc -l)" -eq 1
253275 cd dist
254276 sha256sum *.* | tee SHA256SUMS.txt
255277
@@ -272,13 +294,9 @@ jobs:
272294 echo "Optional USB-style profile: set \`QUERYA_PORTABLE=1\` or create a \`QueryaData/\` folder next to the binary (see docs/packaging.md)."
273295 echo ""
274296 echo "#### Installable"
297+ echo "- **Linux AppImage**: \`Querya-Desktop-${VERSION}-linux.AppImage\` (\`chmod +x\` then run)"
275298 echo "- **Linux .deb** (Debian/Ubuntu): \`Querya-Desktop-${VERSION}-linux.deb\` — \`sudo apt install ./Querya-Desktop-${VERSION}-linux.deb\`"
276- if [[ -f "dist/Querya-Desktop-${VERSION}-linux.AppImage" ]]; then
277- echo "- **Linux AppImage**: \`Querya-Desktop-${VERSION}-linux.AppImage\`"
278- fi
279- if [[ -f "dist/Querya-Desktop-${VERSION}-windows-setup.exe" ]]; then
280- echo "- **Windows setup**: \`Querya-Desktop-${VERSION}-windows-setup.exe\`"
281- fi
299+ echo "- **Windows setup**: \`Querya-Desktop-${VERSION}-windows-setup.exe\` (Inno Setup)"
282300 echo ""
283301 echo "RPM / Flatpak / AUR — follow-ups on #386."
284302 echo ""
0 commit comments