__init__.py
python
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1
docs: MuseHub-first before ISR #74 — staging solidify NEXT
Human
5 days ago
| 1 | """Shared fixtures for Q3-release desktop installer tests (§QR.13).""" |
| 2 | |
| 3 | from __future__ import annotations |
| 4 | |
| 5 | from pathlib import Path |
| 6 | |
| 7 | from tests.support import KIT_ROOT |
| 8 | |
| 9 | RELEASE_WORKFLOW = KIT_ROOT / ".github" / "workflows" / "desktop-release.yml" |
| 10 | SMOKE_WORKFLOW = KIT_ROOT / ".github" / "workflows" / "desktop-build-smoke.yml" |
| 11 | RELEASE_TEMPLATE = KIT_ROOT / "templates" / "ci" / "desktop-release-github-actions.yml" |
| 12 | BUNDLE_SCRIPT = KIT_ROOT / "scripts" / "bundle-desktop-kit.sh" |
| 13 | RUNBOOK = KIT_ROOT / "docs" / "TRACK-Q-DESKTOP-OPERATOR-RUNBOOK.md" |
| 14 | DESKTOP_KEYS = KIT_ROOT / "desktop" / "keys" |
| 15 | PUBLIC_KEY = DESKTOP_KEYS / "release.minisign.pub" |
| 16 | |
| 17 | GIT_SHA_FIXTURE = "a" * 40 |
| 18 | |
| 19 | |
| 20 | def sample_signed_artifacts(version: str = "0.1.0") -> list[dict]: |
| 21 | """Return three signed platform artifact dicts for schema tests.""" |
| 22 | return [ |
| 23 | { |
| 24 | "platform": "macos", |
| 25 | "filename": f"Overseer Kit_{version}_aarch64.dmg", |
| 26 | "sha256": "b" * 64, |
| 27 | "arch": "aarch64", |
| 28 | "signing": {"status": "signed", "method": "developer_id_notarized"}, |
| 29 | }, |
| 30 | { |
| 31 | "platform": "windows", |
| 32 | "filename": f"Overseer Kit_{version}_x64_en-US.msi", |
| 33 | "sha256": "c" * 64, |
| 34 | "arch": "x86_64", |
| 35 | "signing": {"status": "signed", "method": "authenticode"}, |
| 36 | }, |
| 37 | { |
| 38 | "platform": "linux", |
| 39 | "filename": f"Overseer Kit_{version}_amd64.AppImage", |
| 40 | "sha256": "d" * 64, |
| 41 | "arch": "x86_64", |
| 42 | "signing": {"status": "signed", "method": "minisign_detached"}, |
| 43 | }, |
| 44 | ] |
| 45 | |
| 46 | |
| 47 | def write_artifact_files(directory: Path, artifacts: list[dict]) -> list[Path]: |
| 48 | """Write tiny fixture files named like release artifacts; return paths.""" |
| 49 | directory.mkdir(parents=True, exist_ok=True) |
| 50 | paths: list[Path] = [] |
| 51 | for item in artifacts: |
| 52 | path = directory / item["filename"] |
| 53 | # Distinct bytes per platform so hashes differ. |
| 54 | path.write_bytes(f"fixture:{item['platform']}:{item['filename']}\n".encode("utf-8")) |
| 55 | paths.append(path) |
| 56 | return paths |
File History
1 commit
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1
docs: MuseHub-first before ISR #74 — staging solidify NEXT
Human
5 days ago