From 3f78f172d9f9fe1a9422334c5ae03cd5ac685ebd Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Wed, 16 Sep 2026 18:43:23 +0300 Subject: fix: address release promotion review findings --- scripts/test_release.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'scripts/test_release.py') diff --git a/scripts/test_release.py b/scripts/test_release.py index ba5cfb85..f495c89c 100644 --- a/scripts/test_release.py +++ b/scripts/test_release.py @@ -22,6 +22,9 @@ class ReleaseTests(unittest.TestCase): self.put("Cargo.toml", '[package]\nname = "herdr"\nversion = "1.0.0"\n[dependencies]\nserde = "1"\n') self.put("Cargo.lock", 'version = 4\n[[package]]\nname = "herdr"\nversion = "1.0.0"\n[[package]]\nname = "serde"\nversion = "1.0.0"\n') self.put("src/main.rs", "fn main() {}\n") + self.put("docs/next/CHANGELOG.md", "# Changelog\n") + self.put("skills/herdr/SKILL.md", "Stable skill\n") + self.put("docs/next/website/src/content/docs/obsolete.mdx", "Old page\n") self.put("distribution/latest.json", json.dumps({"version": "1.0.0"})) self.put("scripts/release.py", "# promotion tooling\n") self.put(".github/workflows/release.yml", "run: python3 scripts/release.py check-tag\n") @@ -94,6 +97,18 @@ class ReleaseTests(unittest.TestCase): with self.assertRaisesRegex(ValueError, "regular files"): release.validate_diff(self.preview, self.commit("symlink")) + def test_required_release_files_cannot_be_deleted_but_website_pages_can(self): + for path in ("docs/next/CHANGELOG.md", "skills/herdr/SKILL.md"): + with self.subTest(path=path): + self.git("reset", "--hard", self.preview) + self.git("rm", path) + candidate = self.commit("delete required release file") + with self.assertRaisesRegex(ValueError, "regular files"): + release.validate_diff(self.preview, candidate) + self.git("reset", "--hard", self.preview) + self.git("rm", "docs/next/website/src/content/docs/obsolete.mdx") + release.validate_diff(self.preview, self.commit("remove obsolete website page")) + def test_preview_source_accepts_master_history_and_rejects_unpublished_branch(self): self.assertEqual(release.select_preview(self.preview), self.preview) self.assertEqual(release.select_preview("v1.0.0"), self.git("rev-parse", "v1.0.0")) -- cgit v1.2.3