diff --git a/src/runboat/api.py b/src/runboat/api.py index 93183ac..e5a1a6b 100644 --- a/src/runboat/api.py +++ b/src/runboat/api.py @@ -44,7 +44,10 @@ class Build(BaseModel): pr: Optional[int] git_commit: str image: str - link: str + deploy_link: str + repo_link: str + repo_commit_link: str + webui_link: str status: models.BuildStatus created: datetime.datetime last_scaled: Optional[datetime.datetime] diff --git a/src/runboat/models.py b/src/runboat/models.py index d742dcd..3fb5e44 100644 --- a/src/runboat/models.py +++ b/src/runboat/models.py @@ -129,7 +129,7 @@ class Build(BaseModel): return self.make_slug(self.repo, self.target_branch, self.pr, self.git_commit) @property - def link(self) -> str: + def deploy_link(self) -> str: return f"http://{self.slug}.{settings.build_domain}" @property @@ -140,9 +140,21 @@ class Build(BaseModel): else: return f"{link}/tree/{self.target_branch}" + @property + def repo_commit_link(self) -> str: + link = f"https://github.com/{self.repo}" + if self.pr: + return f"{link}/pull/{self.pr}/commits/{self.git_commit}" + else: + return f"{link}/commit/{self.git_commit}" + + @property + def webui_link(self) -> str: + return f"{settings.base_url}/builds/{self.name}" + @property def live_link(self) -> str: - return f"{settings.base_url}/builds/{self.name}?live" + return f"{self.webui_link}?live" @classmethod async def deploy( diff --git a/src/runboat/webui.py b/src/runboat/webui.py index 175f33d..5034d5d 100644 --- a/src/runboat/webui.py +++ b/src/runboat/webui.py @@ -18,7 +18,7 @@ async def build(request: Request, name: str, live: Optional[str] = None): if not build: raise HTTPException(status.HTTP_404_NOT_FOUND) if live is not None and build.status == BuildStatus.started: - return RedirectResponse(url=build.link) + return RedirectResponse(url=build.deploy_link) return templates.TemplateResponse( "build.html", {"request": request, "build": build} ) diff --git a/src/runboat/webui/build.html b/src/runboat/webui/build.html index 8c0b222..b79035f 100644 --- a/src/runboat/webui/build.html +++ b/src/runboat/webui/build.html @@ -17,10 +17,10 @@ {% else %}

Branch: {{ build.target_branch }}

{% endif %} -

Commit: {{ build.git_commit }}

+

Commit: {{ build.git_commit }}

Status: {{ build.status }}

{% if build.status == 'started' %} -

=> live

+

=> live

{% else %}