ui-ota publish: --ui-pair-override passes through to the manifest writer (tonight's 1.0.2 to the 0.3.21 manifest)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-07 18:41:20 +00:00
parent 57138a3285
commit 9e42badf23

View file

@ -6,6 +6,7 @@
// which deploys from the live folder; a cut is staged in a scratch copy (IGNEUM_DLSITE) as every other publish.
//
// node tools/ui-ota/publish.mjs --version 1.0.1 --min-engine 0.3.19 [--notes "one line"] [--dry-run] [--deploy] [--public]
// [--ui-pair-override "reason"] ship an interface from another UI tree knowingly (the pair rule)
// node tools/ui-ota/publish.mjs --verify [--url https://dl.igneum.network/dl/<token>/igneum-app-latest.json]
// the live manifest's ui entry against the bundle in the folder (the read-back)
// node tools/ui-ota/publish.mjs --self-test pack, hash, sign and verify with a throwaway key in a scratch folder
@ -161,6 +162,8 @@ function main() {
const pm = path.join(root, 'packaging/ota/publish-manifest.sh');
const args = ['--version', arg('--app-version', readFolderVersion(dest)), '--ui', uiJson, '--notes', notes || `interface ${version} over the air`];
if (flag('--deploy')) args.push('--deploy');
// the version pair (packaging/ota/publish-manifest.sh): an interface from another UI tree ships only with a logged reason
if (arg('--ui-pair-override', '')) args.push('--ui-pair-override', arg('--ui-pair-override', ''));
if (flag('--public')) args.push('--public');
console.log(`publish-manifest.sh ${args.join(' ').split(token).join('<token>')}`);
const r = spawnSync('bash', [pm, ...args], { stdio: 'inherit', env: { ...process.env, IGNEUM_DLSITE: dlsite } });