diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-08-18 22:39:38 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-08-18 22:39:38 +0300 |
| commit | 9fac51722653fa0b0b6a5786166fb18c763424e0 (patch) | |
| tree | a8efd3b30cf29a8fb11138b7444bb9baa0dac2fa /scripts/test_changelog.py | |
| parent | 0bd445020ea19e0cea13f42a28212db7b2df196d (diff) | |
feat: make Windows generally available
Diffstat (limited to 'scripts/test_changelog.py')
| -rw-r--r-- | scripts/test_changelog.py | 50 |
1 files changed, 35 insertions, 15 deletions
diff --git a/scripts/test_changelog.py b/scripts/test_changelog.py index ad384734..6a9d12dd 100644 --- a/scripts/test_changelog.py +++ b/scripts/test_changelog.py @@ -24,20 +24,33 @@ from scripts.changelog import ( ) +def release_assets(version: str) -> dict[str, str]: + normalized = version.removeprefix("v") + return { + **default_release_assets(normalized), + "windows-x86_64": f"https://github.com/herdrdev/herdr/releases/download/v{normalized}/herdr-windows-x86_64.zip", + } + + def release_sha256() -> dict[str, str]: return { "linux-x86_64": "a" * 64, "linux-aarch64": "b" * 64, "macos-x86_64": "c" * 64, "macos-aarch64": "d" * 64, + "windows-x86_64": "e" * 64, } def release_assets_with_digests() -> list[dict[str, str]]: return [ { - "name": f"herdr-{target}", - "url": f"https://example.com/{target}", + "name": ( + "herdr-windows-x86_64.zip" + if target == "windows-x86_64" + else f"herdr-{target}" + ), + "url": f"https://example.com/{target}{'.zip' if target == 'windows-x86_64' else ''}", "digest": f"sha256:{digest * 64}", } for target, digest in ( @@ -45,6 +58,7 @@ def release_assets_with_digests() -> list[dict[str, str]]: ("linux-aarch64", "b"), ("macos-x86_64", "c"), ("macos-aarch64", "d"), + ("windows-x86_64", "e"), ) ] @@ -79,7 +93,7 @@ class ChangelogScriptTests(unittest.TestCase): build_latest_json( "0.1.1", "\n### Fixed\n- One\n\n", - default_release_assets("0.1.1"), + release_assets("0.1.1"), release_sha256(), ) ) @@ -92,7 +106,7 @@ class ChangelogScriptTests(unittest.TestCase): build_latest_json( "v0.1.1", "### Fixed\n- Smoothed Claude flapping.\n", - default_release_assets("0.1.1"), + release_assets("0.1.1"), release_sha256(), ) ) @@ -107,6 +121,7 @@ class ChangelogScriptTests(unittest.TestCase): "linux-aarch64": "https://github.com/herdrdev/herdr/releases/download/v0.1.1/herdr-linux-aarch64", "macos-x86_64": "https://github.com/herdrdev/herdr/releases/download/v0.1.1/herdr-macos-x86_64", "macos-aarch64": "https://github.com/herdrdev/herdr/releases/download/v0.1.1/herdr-macos-aarch64", + "windows-x86_64": "https://github.com/herdrdev/herdr/releases/download/v0.1.1/herdr-windows-x86_64.zip", }, ) self.assertEqual(manifest["releases"]["0.1.1"]["assets"], manifest["assets"]) @@ -118,7 +133,7 @@ class ChangelogScriptTests(unittest.TestCase): build_latest_json( "0.1.1", "### Fixed\n- One", - default_release_assets("0.1.1"), + release_assets("0.1.1"), release_sha256(), announcement={"id": "keybinding-v2", "title": "Keybind Refactor", "body": "body"}, ) @@ -138,7 +153,7 @@ class ChangelogScriptTests(unittest.TestCase): build_latest_json( "0.1.2", "### Fixed\n- Two", - default_release_assets("0.1.2"), + release_assets("0.1.2"), release_sha256(), releases={"0.1.1": {"notes": "### Fixed\n- One"}}, ) @@ -147,7 +162,7 @@ class ChangelogScriptTests(unittest.TestCase): self.assertEqual(list(manifest["releases"]), ["0.1.2", "0.1.1"]) self.assertEqual(manifest["releases"]["0.1.2"]["notes"], "### Fixed\n- Two") self.assertEqual(manifest["releases"]["0.1.2"]["protocol"], read_protocol_version()) - self.assertEqual(manifest["releases"]["0.1.2"]["assets"], default_release_assets("0.1.2")) + self.assertEqual(manifest["releases"]["0.1.2"]["assets"], release_assets("0.1.2")) self.assertEqual(manifest["releases"]["0.1.1"]["notes"], "### Fixed\n- One") self.assertEqual(manifest["releases"]["0.1.1"]["assets"], default_release_assets("0.1.1")) @@ -157,7 +172,7 @@ class ChangelogScriptTests(unittest.TestCase): build_latest_json( "0.1.2", "### Fixed\n- Two", - default_release_assets("0.1.2"), + release_assets("0.1.2"), release_sha256(), releases={"0.1.1": {"notes": "### Fixed\n- One", "assets": assets}}, ) @@ -170,7 +185,7 @@ class ChangelogScriptTests(unittest.TestCase): build_latest_json( "0.1.2", "### Fixed\n- Two", - default_release_assets("0.1.2"), + release_assets("0.1.2"), release_sha256(), releases={"0.1.1": {"notes": "### Fixed\n- One", "protocol": 7}}, ) @@ -183,7 +198,7 @@ class ChangelogScriptTests(unittest.TestCase): build_latest_json( "0.1.2", "### Fixed\n- Two", - default_release_assets("0.1.2"), + release_assets("0.1.2"), release_sha256(), releases={ "0.1.1": { @@ -337,6 +352,7 @@ class ChangelogScriptTests(unittest.TestCase): "linux-aarch64": "https://example.com/linux-aarch64", "macos-x86_64": "https://example.com/macos-x86_64", "macos-aarch64": "https://example.com/macos-aarch64", + "windows-x86_64": "https://example.com/windows-x86_64.zip", }, "sha256": release_sha256(), }, @@ -426,6 +442,7 @@ class ChangelogScriptTests(unittest.TestCase): "linux-aarch64": "https://example.com/linux-aarch64", "macos-x86_64": "https://example.com/macos-x86_64", "macos-aarch64": "https://example.com/macos-aarch64", + "windows-x86_64": "https://example.com/windows-x86_64.zip", }, "sha256": release_sha256(), } @@ -438,6 +455,7 @@ class ChangelogScriptTests(unittest.TestCase): "linux-aarch64": "https://example.com/linux-aarch64", "macos-x86_64": "https://example.com/macos-x86_64", "macos-aarch64": "https://example.com/macos-aarch64", + "windows-x86_64": "https://example.com/windows-x86_64.zip", }, "sha256": release_sha256(), } @@ -446,7 +464,7 @@ class ChangelogScriptTests(unittest.TestCase): self.assertEqual(canonical, expected) def test_current_release_assets_must_be_mirrored(self) -> None: - assets = default_release_assets("0.1.1") + assets = release_assets("0.1.1") ensure_current_release_assets_are_mirrored( { "version": "0.1.1", @@ -472,12 +490,12 @@ class ChangelogScriptTests(unittest.TestCase): "version": "0.1.1", "protocol": read_protocol_version(), "notes": "### Fixed\n- One", - "assets": default_release_assets("0.1.1"), + "assets": release_assets("0.1.1"), "sha256": release_sha256(), "releases": { "0.1.1": { "notes": "### Fixed\n- One", - "assets": default_release_assets("0.1.0"), + "assets": release_assets("0.1.0"), "sha256": release_sha256(), } }, @@ -497,6 +515,7 @@ class ChangelogScriptTests(unittest.TestCase): "linux-aarch64": "https://example.com/linux-aarch64", "macos-x86_64": "https://example.com/macos-x86_64", "macos-aarch64": "https://example.com/macos-aarch64", + "windows-x86_64": "https://example.com/windows-x86_64.zip", }, "sha256": release_sha256(), }, @@ -509,6 +528,7 @@ class ChangelogScriptTests(unittest.TestCase): "linux-aarch64": "https://example.com/linux-aarch64", "macos-x86_64": "https://example.com/macos-x86_64", "macos-aarch64": "https://example.com/macos-aarch64", + "windows-x86_64": "https://example.com/windows-x86_64.zip", }, "sha256": release_sha256(), }, @@ -531,14 +551,14 @@ class ChangelogScriptTests(unittest.TestCase): "version": "0.1.1", "protocol": read_protocol_version() + 1, "notes": "### Fixed\n- One", - "assets": default_release_assets("0.1.1"), + "assets": release_assets("0.1.1"), "sha256": release_sha256(), } expected = { "version": "0.1.1", "protocol": read_protocol_version(), "notes": "### Fixed\n- One", - "assets": default_release_assets("0.1.1"), + "assets": release_assets("0.1.1"), "sha256": release_sha256(), } |
