From 67bd8d66f76aef71e7c563da37797f5c12494d57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Wed, 4 Dec 2024 18:02:19 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8=20Update=20docs=20previews=20scrip?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/deploy_docs_status.py | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/scripts/deploy_docs_status.py b/scripts/deploy_docs_status.py index 8cef2f7..f1af591 100644 --- a/scripts/deploy_docs_status.py +++ b/scripts/deploy_docs_status.py @@ -2,9 +2,11 @@ import re from github import Github -from pydantic import SecretStr +from pydantic import BaseModel, SecretStr from pydantic_settings import BaseSettings +site_domain = "dockerswarm.rocks" + class Settings(BaseSettings): github_repository: str @@ -15,7 +17,12 @@ class Settings(BaseSettings): is_done: bool = False -def main(): +class LinkData(BaseModel): + previous_link: str + preview_link: str + + +def main() -> None: logging.basicConfig(level=logging.INFO) settings = Settings() @@ -60,24 +67,31 @@ def main(): docs_files = [f for f in files if f.filename.startswith("docs/")] deploy_url = settings.deploy_url.rstrip("/") - links: list[str] = [] + links: list[LinkData] = [] for f in docs_files: match = re.match(r"docs/(.*)", f.filename) - assert match + if not match: + continue path = match.group(1) if path.endswith("index.md"): - path = path.replace("index.md", "") + use_path = path.replace("index.md", "") else: - path = path.replace(".md", "/") - link = f"{deploy_url}/{path}" + use_path = path.replace(".md", "/") + link = LinkData( + previous_link=f"https://{site_domain}/{use_path}", + preview_link=f"{deploy_url}/{use_path}", + ) links.append(link) - links.sort() + links.sort(key=lambda x: x.preview_link) message = f"📝 Docs preview for commit {settings.commit_sha} at: {deploy_url}" if links: message += "\n\n### Modified Pages\n\n" - message += "\n".join([f"* {link}" for link in links]) + for link in links: + message += f"* {link.preview_link}" + message += f" - ([before]({link.previous_link}))" + message += "\n" print(message) use_pr.as_issue().create_comment(message)