feat: migrate packaging and auto updates

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
David Kaya
2026-03-29 22:36:44 +02:00
co-authored by Copilot
parent 66b2a94977
commit 15071fdc47
28 changed files with 1254 additions and 901 deletions
-68
View File
@@ -1,68 +0,0 @@
import { describe, expect, test } from 'bun:test';
import {
macBundleIdentifier,
productName,
resolveReleaseTarget,
} from '../../scripts/releaseTarget';
describe('resolveReleaseTarget', () => {
test('maps Windows x64 to the expected runtime and output names', () => {
expect(resolveReleaseTarget('win32', 'x64')).toEqual({
platform: 'win32',
arch: 'x64',
platformLabel: 'windows',
dotnetRuntime: 'win-x64',
outputDirectoryName: 'Aryx-windows-x64',
archiveBaseName: 'Aryx-windows-x64',
installerAssetName: 'Aryx-windows-x64-setup.exe',
sidecarExecutableName: 'Aryx.AgentHost.exe',
packagedExecutableName: 'Aryx.exe',
});
});
test('maps macOS arm64 to the expected bundle metadata', () => {
expect(resolveReleaseTarget('darwin', 'arm64')).toEqual({
platform: 'darwin',
arch: 'arm64',
platformLabel: 'macos',
dotnetRuntime: 'osx-arm64',
outputDirectoryName: 'Aryx-macos-arm64',
archiveBaseName: 'Aryx-macos-arm64',
installerAssetName: 'Aryx-macos-arm64.dmg',
sidecarExecutableName: 'Aryx.AgentHost',
appBundleName: 'Aryx.app',
});
});
test('maps Linux x64 to the expected runtime and output names', () => {
expect(resolveReleaseTarget('linux', 'x64')).toEqual({
platform: 'linux',
arch: 'x64',
platformLabel: 'linux',
dotnetRuntime: 'linux-x64',
outputDirectoryName: 'Aryx-linux-x64',
archiveBaseName: 'Aryx-linux-x64',
installerAssetName: 'aryx-linux-x64.deb',
sidecarExecutableName: 'Aryx.AgentHost',
packagedExecutableName: 'Aryx',
});
});
test('exports the expected product metadata constants', () => {
expect(productName).toBe('Aryx');
expect(macBundleIdentifier).toBe('com.davidkaya.aryx');
});
test('rejects unsupported platforms', () => {
expect(() => resolveReleaseTarget('freebsd', 'x64')).toThrow(
'Unsupported release platform: freebsd',
);
});
test('rejects unsupported architectures', () => {
expect(() => resolveReleaseTarget('linux', 'ia32')).toThrow(
'Unsupported architecture for linux: ia32',
);
});
});