Reject stale native runtime build provenance before release staging

This commit is contained in:
karl committed 2026-10-13 13:04:58 +02:00
1 parent ea2c3f4691
commit 07bbcb76e8
12 files changed
+204 -9

No files matched your search

+22 -1
View File
@@ -9,6 +9,7 @@ import unittest
from unittest import mock
import package_linux as pack
from embeddinggemma2 import runtime_provenance as provenance
def elf(path, machine=62):
@@ -22,6 +23,10 @@ def elf(path, machine=62):
class LinuxPackageTests(unittest.TestCase):
def fixture(self, directory):
root = Path(directory)
for name in provenance.INPUTS:
path = root / name
path.parent.mkdir(parents=True, exist_ok=True)
path.write_bytes((provenance.ROOT / name).read_bytes())
runtime, media = root / "runtime", root / "media"
executable = root / "build/searchi"
elf(executable)
@@ -35,7 +40,7 @@ class LinuxPackageTests(unittest.TestCase):
for name in names:
elf(runtime / name)
records.append({"path": name, "bytes": 64, "sha256": pack.digest(runtime / name)})
(runtime / "runtime-libraries.json").write_text(json.dumps({"platform": "linux", "worker_sha256": pack.digest(runtime / "searchi-gemma-worker"), "libraries": records}))
(runtime / "runtime-libraries.json").write_text(json.dumps({"platform": "linux", "worker_sha256": pack.digest(runtime / "searchi-gemma-worker"), "build_provenance": provenance.fingerprint(root), "libraries": records}))
media.mkdir()
elf(media / "bin/ffmpeg")
elf(media / "bin/ffprobe")
@@ -115,6 +120,22 @@ class LinuxPackageTests(unittest.TestCase):
compressed = {m.name: (archive.extractfile(m).read(), m.mode) for m in archive}
self.assertEqual(original, compressed)
def test_old_or_stale_build_provenance_preserves_previous_archive(self):
for mutation in ("missing", "source_changed"):
with self.subTest(mutation=mutation), tempfile.TemporaryDirectory() as directory:
fixture = self.fixture(directory)
fixture[-1].write_bytes(b"previous archive")
if mutation == "missing":
inventory = fixture[2] / "runtime-libraries.json"
manifest = json.loads(inventory.read_text())
del manifest["build_provenance"]
inventory.write_text(json.dumps(manifest))
else:
(fixture[0] / provenance.INPUTS[0]).write_bytes(b"changed worker source")
with self.assertRaisesRegex(ValueError, "provenance"):
self.run_package(fixture)
self.assertEqual(fixture[-1].read_bytes(), b"previous archive")
def test_media_helper_tamper_is_rejected_against_pinned_archive(self):
with tempfile.TemporaryDirectory() as directory:
fixture = self.fixture(directory)