ota-102: the ui-ota test pins ui/VERSION 1.0.2; publish-manifest.sh --ui-pair-override <reason> ships an interface from another UI tree knowingly with the reason logged (tonight: interface 1.0.2 from the 0.3.22 tree to the 0.3.21 manifest, so every 0.3.21 app takes the Prove switch fix), the pair rule binding without it
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
db02ac511f
commit
e89922eaa5
2 changed files with 6 additions and 2 deletions
|
|
@ -19,7 +19,7 @@ test('the embedded interface says built in; an over-the-air one says so with its
|
|||
assert.equal(w.eyebrow, 'over the air');
|
||||
assert.equal(w.help, 'Built in: 1.0.0.');
|
||||
assert.equal(V.interfaceWords({}).line, '');
|
||||
assert.equal(readFileSync(join(here, 'VERSION'), 'utf8').trim(), '1.0.0', 'the embedded interface version is three-part and in ui/VERSION');
|
||||
assert.equal(readFileSync(join(here, 'VERSION'), 'utf8').trim(), '1.0.2', 'the embedded interface version is three-part and in ui/VERSION (1.0.2: the 0.3.22 tree, 7 October 2026)');
|
||||
});
|
||||
|
||||
test('the help line says what is pending, refused, held back by the switch, or skipped', () => {
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ while [ $# -gt 0 ]; do
|
|||
--drivers) DRIVERS_FILE="$2"; shift 2 ;;
|
||||
--no-drivers) NO_DRIVERS=1; shift ;;
|
||||
--ui) UI_FILE="$2"; shift 2 ;;
|
||||
--ui-pair-override) UI_PAIR_OVERRIDE="$2"; shift 2 ;; # ship an interface from another UI tree knowingly, with the reason logged (7 Oct 2026: 1.0.2 to 0.3.21 apps)
|
||||
--no-ui) NO_UI=1; shift ;;
|
||||
--base-url) BASE="$2"; shift 2 ;;
|
||||
--dest) DEST="$2"; shift 2 ;;
|
||||
|
|
@ -290,7 +291,10 @@ open(out, "w").write(json.dumps(m, sort_keys=True, separators=(",", ":"), ensure
|
|||
PY
|
||||
# the version pair (7 October 2026): the interface bundle and every app entry must come from one UI tree; a carried-over
|
||||
# ui object against a newer tree, or an entry without its interface version, refuses the publish here
|
||||
node "$ROOT/tools/ui-ota/pair-check.mjs" "$NEW" || { echo "refused: the manifest's interface and its app entries are not one UI tree (tools/ui-ota/pair-check.mjs); cut the interface from this tree with tools/ui-ota/publish.mjs --version $UI_TREE_VERSION, or --no-ui" >&2; exit 2; }
|
||||
if ! node "$ROOT/tools/ui-ota/pair-check.mjs" "$NEW"; then
|
||||
if [ -n "${UI_PAIR_OVERRIDE:-}" ]; then echo "the interface is not from this manifest's UI tree; published anyway on --ui-pair-override: $UI_PAIR_OVERRIDE" >&2
|
||||
else echo "refused: the manifest's interface and its app entries are not one UI tree (tools/ui-ota/pair-check.mjs); cut the interface from this tree with tools/ui-ota/publish.mjs --version $UI_TREE_VERSION, or --no-ui, or say why with --ui-pair-override \"<reason>\"" >&2; exit 2; fi
|
||||
fi
|
||||
"$SIGNER" sign "$KEY" "$NEW" > "$NEW.sig"
|
||||
"$SIGNER" verify "$PUB" "$NEW" "$NEW.sig"
|
||||
mv "$NEW" "$DEST/igneum-app-latest.json"
|
||||
|
|
|
|||
Loading…
Reference in a new issue