FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

feat(ci): publish Windows Inno Setup installer on Releases · QueryaHub/Querya-Desktop@2b98d07 · GitHub

Commit 2b98d07

Browse files
feat(ci): publish Windows Inno Setup installer on Releases
Add packaging/windows/querya.iss and attach Querya-Desktop-{ver}-windows-setup.exe next to the portable zip. Closes #383
1 parent d0fb7df commit 2b98d07

4 files changed

Lines changed: 91 additions & 8 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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:
@@ -241,10 +257,12 @@ jobs:
241257
run: |
242258
set -euo pipefail
243259
mkdir -p dist
244-
find artifacts -name '*.zip' -exec mv -t dist/ {} +
260+
find artifacts \( -name '*.zip' -o -name '*.AppImage' -o -name '*-windows-setup.exe' \) \
261+
-exec mv -t dist/ {} +
245262
test "$(find dist -name '*.zip' | wc -l)" -eq 3
263+
test "$(find dist -name '*-windows-setup.exe' | wc -l)" -eq 1
246264
cd dist
247-
sha256sum *.zip | tee SHA256SUMS.txt
265+
sha256sum *.* | tee SHA256SUMS.txt
248266
249267
- name: Build release notes from CHANGELOG.md
250268
run: |
@@ -265,7 +283,10 @@ jobs:
265283
echo "Optional USB-style profile: set \`QUERYA_PORTABLE=1\` or create a \`QueryaData/\` folder next to the binary (see docs/packaging.md)."
266284
echo ""
267285
echo "#### Installable"
268-
echo "_AppImage / Windows setup / distro packages — tracked in epic #379; not attached to this release yet._"
286+
echo "- **Windows setup**: \`Querya-Desktop-${VERSION}-windows-setup.exe\` (Inno Setup)"
287+
if [[ -f "dist/Querya-Desktop-${VERSION}-linux.AppImage" ]]; then
288+
echo "- **Linux AppImage**: \`Querya-Desktop-${VERSION}-linux.AppImage\`"
289+
fi
269290
echo ""
270291
echo "Verify checksums: \`SHA256SUMS.txt\`"
271292
echo ""
@@ -289,9 +310,12 @@ jobs:
289310
tag_name: ${{ steps.rel.outputs.tag }}
290311
name: Querya Desktop ${{ needs.build-windows.outputs.version }}
291312
body_path: release-notes.md
292-
fail_on_unmatched_files: true
313+
# AppImage may be absent until the Linux AppImage job lands (#382).
314+
fail_on_unmatched_files: false
293315
files: |
294316
dist/*.zip
317+
dist/*.AppImage
318+
dist/*-windows-setup.exe
295319
dist/SHA256SUMS.txt
296320
env:
297321
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,6 @@ coverage/
3939
*.so
4040
*.dll
4141
*.exe
42+
dist-windows/
4243
design-front/
4344
docker/sqlite/data/

‎docs/tags-and-releases.md‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,14 @@
3737

3838
Профиль по умолчанию всё равно в OS app-support; USB-style data → [packaging.md](packaging.md) (`QUERYA_PORTABLE` / `QueryaData/`).
3939

40-
### Installable channel (planned)
40+
### Installable channel
4141

42-
Отдельные артефакты (AppImage, Windows setup, deb/rpm/Flatpak) — epic [#379](https://github.com/QueryaHub/Querya-Desktop/issues/379). Пока в Release публикуются только portable zip выше.
42+
| Artifact | Notes |
43+
|----------|--------|
44+
| `Querya-Desktop-X.Y.Z-windows-setup.exe` | Inno Setup (`packaging/windows/querya.iss`) |
45+
| `Querya-Desktop-X.Y.Z-linux.AppImage` | When Linux AppImage CI is merged (#382) |
46+
47+
Другие форматы (deb/rpm/Flatpak): [#386](https://github.com/QueryaHub/Querya-Desktop/issues/386) / epic [#379](https://github.com/QueryaHub/Querya-Desktop/issues/379).
4348

4449
## Changelog в GitHub Release
4550

‎packaging/windows/querya.iss‎

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
; Inno Setup script for Querya Desktop (Windows installable channel).
2+
; Compile from repo root after `flutter build windows --release`:
3+
; ISCC /DMyAppVersion=0.4.11 packaging\windows\querya.iss
4+
5+
#ifndef MyAppVersion
6+
#define MyAppVersion "0.0.0"
7+
#endif
8+
9+
#define MyAppName "Querya Desktop"
10+
#define MyAppPublisher "QueryaHub"
11+
#define MyAppExeName "querya_desktop.exe"
12+
#define MyAppSourceDir "..\..\build\windows\x64\runner\Release"
13+
14+
[Setup]
15+
; Stable AppId — do not change across releases (controls uninstall / upgrades).
16+
AppId={{A7C3E2F1-9B4D-4E8A-8F2C-1D5E6A7B8C9D}
17+
AppName={#MyAppName}
18+
AppVersion={#MyAppVersion}
19+
AppPublisher={#MyAppPublisher}
20+
AppPublisherURL=https://github.com/QueryaHub/Querya-Desktop
21+
DefaultDirName={autopf}\Querya Desktop
22+
DefaultGroupName=Querya Desktop
23+
DisableProgramGroupPage=yes
24+
LicenseFile=
25+
OutputDir=..\..\dist-windows
26+
OutputBaseFilename=Querya-Desktop-{#MyAppVersion}-windows-setup
27+
SetupIconFile=..\..\windows\runner\resources\app_icon.ico
28+
Compression=lzma
29+
SolidCompression=yes
30+
WizardStyle=modern
31+
PrivilegesRequired=lowest
32+
PrivilegesRequiredOverridesAllowed=dialog
33+
ArchitecturesAllowed=x64compatible
34+
ArchitecturesInstallIn64BitMode=x64compatible
35+
UninstallDisplayIcon={app}\{#MyAppExeName}
36+
CloseApplications=yes
37+
RestartApplications=no
38+
39+
[Languages]
40+
Name: "english"; MessagesFile: "compiler:Default.isl"
41+
42+
[Tasks]
43+
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
44+
45+
[Files]
46+
Source: "{#MyAppSourceDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
47+
48+
[Icons]
49+
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
50+
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
51+
52+
[Run]
53+
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL