mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-14 21:26:15 -08:00
feat(updater): add GitHub releases desktop updater
This commit is contained in:
1 parent
a84090026b
commit
b64e187a5e
49 files changed
+2995
-114
No files matched your search
@@ -114,6 +114,62 @@ test('Linux package identity does not expose the internal Electron backend proje
|
||||
);
|
||||
});
|
||||
|
||||
test('GitHub Releases auto-update metadata is generated and uploaded', () => {
|
||||
const releaseFiles = buildAndMakeWorkflow.match(
|
||||
/files: \|\n([\s\S]*?)\n\s+env:/
|
||||
)?.[1];
|
||||
|
||||
assert.ok(releaseFiles, 'release upload files block must exist');
|
||||
assert.ok(
|
||||
packageMetadata.dependencies?.['electron-updater'],
|
||||
'electron-updater must be a runtime dependency because the packaged app imports it'
|
||||
);
|
||||
assert.deepEqual(electronBuilderConfig.publish, [
|
||||
{
|
||||
provider: 'github',
|
||||
owner: '4gray',
|
||||
repo: 'iptvnator',
|
||||
},
|
||||
]);
|
||||
assert.deepEqual(electronBuilderConfig.mac?.target, [
|
||||
{
|
||||
target: 'dmg',
|
||||
arch: ['x64', 'arm64'],
|
||||
},
|
||||
{
|
||||
target: 'zip',
|
||||
arch: ['x64', 'arm64'],
|
||||
},
|
||||
]);
|
||||
assert.match(buildAndMakeWorkflow, /dist\/executables\/\*\*\/latest\.yml/);
|
||||
assert.match(
|
||||
buildAndMakeWorkflow,
|
||||
/dist\/executables\/\*\*\/latest-mac\.yml/
|
||||
);
|
||||
assert.match(
|
||||
buildAndMakeWorkflow,
|
||||
/dist\/executables\/\*\*\/latest-linux\*\.yml/
|
||||
);
|
||||
assert.match(buildAndMakeWorkflow, /dist\/executables\/\*\*\/\*\.blockmap/);
|
||||
assert.match(buildAndMakeWorkflow, /Merge macOS updater metadata/);
|
||||
assert.match(
|
||||
buildAndMakeWorkflow,
|
||||
/artifacts\/latest-mac\.yml/
|
||||
);
|
||||
assert.doesNotMatch(
|
||||
releaseFiles,
|
||||
/artifacts\/macos-(?:x64|arm64)-artifacts\/latest-mac\.yml/
|
||||
);
|
||||
assert.match(
|
||||
buildAndMakeWorkflow,
|
||||
/artifacts\/linux-artifacts\/latest-linux\*\.yml/
|
||||
);
|
||||
assert.match(
|
||||
buildAndMakeWorkflow,
|
||||
/artifacts\/windows-artifacts\/latest\.yml/
|
||||
);
|
||||
});
|
||||
|
||||
test('generated Electron package metadata mirrors the root package identity', async () => {
|
||||
const { buildElectronBuilderMetadata, buildElectronPackageMetadata } =
|
||||
await import('./generate-electron-builder-metadata.mjs');
|
||||
|
||||
Reference in new issue
Block a user