Skip to content

Commit 2222712

Browse files
committed
docs: keep Fern latest label stable
1 parent 371c63b commit 2222712

1 file changed

Lines changed: 5 additions & 16 deletions

File tree

fern/scripts/fern-release-version.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,6 @@ def version_entries(root: Path) -> list[dict[str, str]]:
9595
return entries
9696

9797

98-
def highest_version_slug(entries: list[dict[str, str]]) -> str | None:
99-
slugs = [entry["slug"] for entry in entries if re.fullmatch(rf"v{VERSION_RE.pattern}", entry.get("slug", ""))]
100-
return max(slugs, key=version_key, default=None)
101-
102-
10398
def has_version_entry(root: Path, slug: str) -> bool:
10499
block = versions_block_text(root)
105100
return re.search(rf"^\s+slug:\s+{re.escape(slug)}\s*$", block, re.MULTILINE) is not None
@@ -108,17 +103,11 @@ def has_version_entry(root: Path, slug: str) -> bool:
108103
def check_latest_display_name(root: Path) -> list[str]:
109104
entries = version_entries(root)
110105
latest = next((entry for entry in entries if entry.get("slug") == "latest"), None)
111-
highest = highest_version_slug(entries)
112-
if latest is None or highest is None:
106+
if latest is None:
113107
return []
114108

115-
match = re.search(rf"\bv({VERSION_RE.pattern})\b", latest.get("display_name", ""))
116-
if not match:
117-
return ["Latest version display name must include the latest registered version slug"]
118-
119-
displayed = f"v{match.group(1)}"
120-
if displayed != highest:
121-
return [f"Latest display name points at {displayed}, but highest registered version is {highest}"]
109+
if latest.get("display_name") != "Latest":
110+
return ['Latest version display name must be "Latest"']
122111
return []
123112

124113

@@ -172,7 +161,7 @@ def update_docs_yml(root: Path, slug: str) -> None:
172161
)
173162
if latest_index == -1:
174163
raise ReleaseVersionError("Missing latest version entry in docs.yml")
175-
lines[latest_index] = f'- display-name: "Latest · {slug}"\n'
164+
lines[latest_index] = '- display-name: "Latest"\n'
176165

177166
if not has_version_entry(root, slug):
178167
insert_index = end
@@ -242,7 +231,7 @@ def check_release(root: Path, slug: str, require_latest_matches_release: bool =
242231
nav = root / "versions" / f"{slug}.yml"
243232

244233
expected = {
245-
"latest display name": rf'^- display-name:\s+["\']Latest\b.*{re.escape(slug)}["\']\s*$',
234+
"latest display name": r'^- display-name:\s+["\']Latest["\']\s*$',
246235
"version display name": rf'^- display-name:\s+["\']{re.escape(slug)}["\']\s*$',
247236
"version path": rf"^\s+path:\s+versions/{re.escape(slug)}\.yml\s*$",
248237
"version slug": rf"^\s+slug:\s+{re.escape(slug)}\s*$",

0 commit comments

Comments
 (0)