mirror of
https://github.com/davidkaya/aryx.git
synced 2026-08-03 18:38:35 +02:00
feat: add native platform installers for Windows, macOS, and Linux
Replace zip/tar archive distribution with platform-native installers: - Windows: NSIS installer (.exe) with per-user install to %LOCALAPPDATA%\Programs\Aryx, Start Menu and Desktop shortcuts, Add/Remove Programs registration, and silent install support - macOS: DMG disk image (.dmg) with drag-to-Applications experience via create-dmg - Linux: Debian package (.deb) with /opt/aryx installation, /usr/bin/aryx symlink, desktop entry, hicolor icons, and libsecret-1-0 dependency declaration Add scripts/create-installer.ts as the platform-dispatching entry point. Update CI workflow to produce native installers instead of archives. Add installerAssetName to ReleaseTarget interface. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -97,19 +97,19 @@ jobs:
|
||||
- os: windows-latest
|
||||
label: Windows
|
||||
release_dir_name: Aryx-windows-x64
|
||||
asset_path: release/Aryx-windows-x64.zip
|
||||
asset_path: release/Aryx-windows-x64-setup.exe
|
||||
- os: macos-15-intel
|
||||
label: macOS (x64)
|
||||
release_dir_name: Aryx-macos-x64
|
||||
asset_path: release/Aryx-macos-x64.zip
|
||||
asset_path: release/Aryx-macos-x64.dmg
|
||||
- os: macos-15
|
||||
label: macOS (arm64)
|
||||
release_dir_name: Aryx-macos-arm64
|
||||
asset_path: release/Aryx-macos-arm64.zip
|
||||
asset_path: release/Aryx-macos-arm64.dmg
|
||||
- os: ubuntu-latest
|
||||
label: Linux
|
||||
release_dir_name: Aryx-linux-x64
|
||||
asset_path: release/Aryx-linux-x64.tar.gz
|
||||
asset_path: release/aryx-linux-x64.deb
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
@@ -141,18 +141,8 @@ jobs:
|
||||
if: runner.os == 'macOS'
|
||||
run: codesign --force --deep --sign - "release/${{ matrix.release_dir_name }}/Aryx.app"
|
||||
|
||||
- name: Create Windows release archive
|
||||
if: runner.os == 'Windows'
|
||||
shell: pwsh
|
||||
run: Compress-Archive -Path 'release\Aryx-windows-x64\*' -DestinationPath 'release\Aryx-windows-x64.zip' -Force
|
||||
|
||||
- name: Create macOS release archive
|
||||
if: runner.os == 'macOS'
|
||||
run: ditto -c -k --sequesterRsrc --keepParent "release/${{ matrix.release_dir_name }}/Aryx.app" "${{ matrix.asset_path }}"
|
||||
|
||||
- name: Create Linux release archive
|
||||
if: runner.os == 'Linux'
|
||||
run: tar -czf release/Aryx-linux-x64.tar.gz -C release Aryx-linux-x64
|
||||
- name: Create platform installer
|
||||
run: bun run scripts/create-installer.ts
|
||||
|
||||
- name: Upload asset to GitHub release
|
||||
shell: bash
|
||||
|
||||
Reference in New Issue
Block a user