mirror of
https://github.com/yusufipk/dikte.git
synced 2026-09-11 19:06:11 +00:00
Publish a Windows setup beside the AppImage and the disk image
The releases page had nothing for Windows, so the only way in was a checkout, a Python and a pip install. What goes out now is one setup program per release: PyInstaller's directory, the pinned ffmpeg the disk image already uses, and Inno Setup around both. It installs for the account alone, so no administrator is asked for. Two executables over the one program there, because a windowed one on Windows has no standard output at all: Dikte.exe for the Start Menu and dikte.exe for the terminal, sharing everything they carry. The icon is drawn by Dikte itself into an .ico, the way the Mac's .icns and Linux's PNGs already are, so there is still no image file in the repository. Starting at sign-in is a registry value rather than a Startup shortcut, which is what lets the setup program, the uninstaller and `dikte integrate` all mean the same thing: the wizard asks once, and typing the command changes the answer later. The three builds move into build.yml, which release.yml now calls instead of holding its own copy, and which a pull request touching the packaging runs on its own. A broken build is then a red pull request rather than a failed release.
This commit is contained in:
@@ -107,11 +107,16 @@ jobs:
|
||||
run: python -m unittest discover --verbose
|
||||
|
||||
# What the Mac does for its installer, in the language this one is in.
|
||||
# Parsing only: install.ps1 writes into the Start Menu and the user PATH.
|
||||
- name: Check the installer parses
|
||||
# Parsing only: install.ps1 writes into the Start Menu and the user PATH,
|
||||
# and build-windows.ps1 downloads an ffmpeg and runs PyInstaller. The
|
||||
# setup program itself is compiled by build.yml, on the pull requests
|
||||
# that touch it.
|
||||
- name: Check the installer and the build script parse
|
||||
shell: pwsh
|
||||
run: |
|
||||
$problems = $null
|
||||
[System.Management.Automation.Language.Parser]::ParseFile(
|
||||
"$PWD/install.ps1", [ref]$null, [ref]$problems) > $null
|
||||
if ($problems) { $problems; exit 1 }
|
||||
foreach ($script in "install.ps1", "packaging/build-windows.ps1") {
|
||||
$problems = $null
|
||||
[System.Management.Automation.Language.Parser]::ParseFile(
|
||||
"$PWD/$script", [ref]$null, [ref]$problems) > $null
|
||||
if ($problems) { $problems; exit 1 }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user