mirror of
https://github.com/stablyai/orca.git
synced 2026-10-19 16:03:26 +00:00
fix(release): regenerate Windows blockmap via app-builder-lib JS
electron-builder 26 dropped the app-builder-bin Go binary, so the signed-installer staging step failed with 'node_modules/app-builder-bin/ win/x64/app-builder.exe is not recognized'. Blockmap generation now lives in app-builder-lib's pure-JS buildBlockMap; call it through a small script in both the release-cut and signing-rehearsal workflows. Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
@@ -1330,7 +1330,8 @@ jobs:
|
||||
}
|
||||
|
||||
Copy-Item -Path $signedInstaller.FullName -Destination 'dist/orca-windows-setup.exe' -Force
|
||||
& 'node_modules/app-builder-bin/win/x64/app-builder.exe' blockmap --input 'dist/orca-windows-setup.exe' --output 'dist/orca-windows-setup.exe.blockmap'
|
||||
node config/scripts/generate-windows-blockmap.mjs 'dist/orca-windows-setup.exe' 'dist/orca-windows-setup.exe.blockmap'
|
||||
if ($LASTEXITCODE -ne 0) { throw "blockmap generation failed with exit code $LASTEXITCODE" }
|
||||
|
||||
$installer = Get-Item 'dist/orca-windows-setup.exe'
|
||||
$blockmap = Get-Item 'dist/orca-windows-setup.exe.blockmap'
|
||||
|
||||
@@ -271,7 +271,7 @@ jobs:
|
||||
throw 'Signed Windows installer was not returned by SignPath.'
|
||||
}
|
||||
Copy-Item -Path $signedInstaller.FullName -Destination 'dist/orca-windows-setup.exe' -Force
|
||||
& 'node_modules/app-builder-bin/win/x64/app-builder.exe' blockmap --input 'dist/orca-windows-setup.exe' --output 'dist/orca-windows-setup.exe.blockmap'
|
||||
node config/scripts/generate-windows-blockmap.mjs 'dist/orca-windows-setup.exe' 'dist/orca-windows-setup.exe.blockmap'
|
||||
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
||||
|
||||
$installer = Get-Item 'dist/orca-windows-setup.exe'
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
// Regenerate the electron-updater `.blockmap` for a (re-signed) Windows installer.
|
||||
// electron-builder 26 dropped the app-builder-bin Go binary; blockmap generation
|
||||
// now lives in app-builder-lib's pure-JS `buildBlockMap`. Mirrors createBlockmap's
|
||||
// "gzip" format for the standalone NSIS installer blockmap.
|
||||
import { createRequire } from 'node:module'
|
||||
|
||||
const require = createRequire(import.meta.url)
|
||||
|
||||
const [input, output] = process.argv.slice(2)
|
||||
if (!input || !output) {
|
||||
console.error('usage: generate-windows-blockmap.mjs <input.exe> <output.exe.blockmap>')
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
const { buildBlockMap } = require('app-builder-lib/out/targets/blockmap/blockmap')
|
||||
|
||||
const info = await buildBlockMap(input, 'gzip', output)
|
||||
console.log(`blockmap written: ${output} (installer sha512=${info.sha512}, size=${info.size})`)
|
||||
Reference in New Issue
Block a user