fix(package): require embedded Web and record Program V2 candidate

This commit is contained in:
fy59 2026-10-01 07:15:10 +02:00
parent 6c0e7af2f0
commit 7c27e7f8ec
2 changed files with 10 additions and 2 deletions

View file

@ -78,9 +78,10 @@ class DeploymentToolsTest(unittest.TestCase):
inventory = json.loads((output / "candidate-inventory.json").read_text())
self.assertEqual(inventory["product_version"], "0.1.7")
self.assertEqual(inventory["desktop_schema"], 37)
self.assertEqual(inventory["android_schema"], 32)
self.assertEqual(inventory["android_schema"], 34)
self.assertIn("session-preparations-v2", inventory["protocols"])
self.assertIn("programs-v1", inventory["protocols"])
self.assertIn("programs-v2", inventory["protocols"])
self.assertIn("program-executions-v1", inventory["protocols"])
self.assertIn("sleep-diary-v2", inventory["protocols"])
self.assertIn("cardio-sessions-v1", inventory["protocols"])

View file

@ -82,6 +82,12 @@ def main() -> int:
raise RuntimeError("compiled generation MTP adapter is missing")
if not sync_once.is_file():
raise RuntimeError("compiled legacy synchronization helper is missing")
build_options = json.loads(subprocess.check_output(
["meson", "introspect", "--buildoptions", str(args.build)], text=True
))
web = next((option["value"] for option in build_options if option["name"] == "web"), None)
if web != "enabled":
raise RuntimeError("candidate requires an explicitly embedded Web frontend")
(args.output / "bin").mkdir(parents=True)
(args.output / "libexec").mkdir(parents=True)
(args.output / "tools").mkdir(parents=True)
@ -122,7 +128,7 @@ def main() -> int:
).strip(),
"product_version": "0.1.7",
"desktop_schema": 37,
"android_schema": 32,
"android_schema": 34,
"protocols": [
"mobile-export-v3",
"mobile-history-v4",
@ -136,6 +142,7 @@ def main() -> int:
"session-preparations-v2",
"ai-session-drafts-v2",
"programs-v1",
"programs-v2",
"program-executions-v1",
"sleep-diary-v2",
"cardio-sessions-v1",