| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -74,16 +74,32 @@ jobs: | |||
| 74 | 74 | - name: Build Windows (release) | |
| 75 | 75 | run: flutter build windows --release | |
| 76 | 76 | ||
| 77 | - - name: Zip Windows artifact | ||
| 77 | + - name: Zip Windows artifact (portable) | ||
| 78 | 78 | run: | | |
| 79 | 79 | $v = "${{ steps.version.outputs.version }}" | |
| 80 | 80 | $dir = "build\windows\x64\runner\Release" | |
| 81 | 81 | Compress-Archive -Path "$dir\*" -DestinationPath "Querya-Desktop-$v-windows.zip" | |
| 82 | 82 | ||
| 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 | + | ||
| 83 | 97 | - uses: actions/upload-artifact@v4 | |
| 84 | 98 | with: | |
| 85 | 99 | 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 | ||
| 87 | 103 | if-no-files-found: error | |
| 88 | 104 | ||
| 89 | 105 | build-linux: | |
@@ -241,10 +257,12 @@ jobs: | |||
| 241 | 257 | run: | | |
| 242 | 258 | set -euo pipefail | |
| 243 | 259 | 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/ {} + | ||
| 245 | 262 | test "$(find dist -name '*.zip' | wc -l)" -eq 3 | |
| 263 | + test "$(find dist -name '*-windows-setup.exe' | wc -l)" -eq 1 | ||
| 246 | 264 | cd dist | |
| 247 | - sha256sum *.zip | tee SHA256SUMS.txt | ||
| 265 | + sha256sum *.* | tee SHA256SUMS.txt | ||
| 248 | 266 | ||
| 249 | 267 | - name: Build release notes from CHANGELOG.md | |
| 250 | 268 | run: | | |
@@ -265,7 +283,10 @@ jobs: | |||
| 265 | 283 | echo "Optional USB-style profile: set \`QUERYA_PORTABLE=1\` or create a \`QueryaData/\` folder next to the binary (see docs/packaging.md)." | |
| 266 | 284 | echo "" | |
| 267 | 285 | 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 | ||
| 269 | 290 | echo "" | |
| 270 | 291 | echo "Verify checksums: \`SHA256SUMS.txt\`" | |
| 271 | 292 | echo "" | |
@@ -289,9 +310,12 @@ jobs: | |||
| 289 | 310 | tag_name: ${{ steps.rel.outputs.tag }} | |
| 290 | 311 | name: Querya Desktop ${{ needs.build-windows.outputs.version }} | |
| 291 | 312 | 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 | ||
| 293 | 315 | files: | | |
| 294 | 316 | dist/*.zip | |
| 317 | + dist/*.AppImage | ||
| 318 | + dist/*-windows-setup.exe | ||
| 295 | 319 | dist/SHA256SUMS.txt | |
| 296 | 320 | env: | |
| 297 | 321 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -39,5 +39,6 @@ coverage/ | |||
| 39 | 39 | *.so | |
| 40 | 40 | *.dll | |
| 41 | 41 | *.exe | |
| 42 | + dist-windows/ | ||
| 42 | 43 | design-front/ | |
| 43 | 44 | docker/sqlite/data/ | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -37,9 +37,14 @@ | |||
| 37 | 37 | ||
| 38 | 38 | Профиль по умолчанию всё равно в OS app-support; USB-style data → [packaging.md](packaging.md) (`QUERYA_PORTABLE` / `QueryaData/`). | |
| 39 | 39 | ||
| 40 | - ### Installable channel (planned) | ||
| 40 | + ### Installable channel | ||
| 41 | 41 | ||
| 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). | ||
| 43 | 48 | ||
| 44 | 49 | ## Changelog в GitHub Release | |
| 45 | 50 | ||
| Original file line number | Diff line number | Diff 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 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments