diff --git a/scripts/render_mintlify_releases.py b/scripts/render_mintlify_releases.py index ca99a99..f73f28a 100644 --- a/scripts/render_mintlify_releases.py +++ b/scripts/render_mintlify_releases.py @@ -103,7 +103,11 @@ def render_release(release: Release) -> str: def render(markdown: str) -> str: - releases = parse_releases(markdown) + releases = sorted( + parse_releases(markdown), + key=lambda release: release.published_at, + reverse=True, + ) return FRONTMATTER.rstrip() + "\n\n" + "\n\n".join( render_release(release) for release in releases ) + "\n" diff --git a/tests/test_render_mintlify_releases.py b/tests/test_render_mintlify_releases.py index 4abf3ad..cc0cade 100644 --- a/tests/test_render_mintlify_releases.py +++ b/tests/test_render_mintlify_releases.py @@ -42,6 +42,18 @@ def test_renders_mintlify_updates(self) -> None: self.assertIn("pip install textql-sdk==1.0.0", output) self.assertIn("[Speakeasy CLI 1.790.2 (generator 2.918.3)]", output) + def test_renders_newest_release_first(self) -> None: + newer_release = RELEASE.replace( + "2026-07-17 21:45:13", "2026-07-21 12:00:00" + ).replace("1.0.0", "1.0.3") + + output = render(RELEASE + newer_release) + + self.assertLess( + output.index(' None: with self.assertRaisesRegex(ValueError, "no PyPI link"): parse_releases(RELEASE.replace("PyPI", "Package"))