Stable per-branch report URLs and a reachable live view (v0.9.8)
A report directory holding a single page is now linked and served as a directory, so Gradle's --profile report has a stable permanent URL although its file name carries the build timestamp. The permanent link moves to the build it resolves to — the branch's latest green build — and appears on every build table instead of only the branches view. The Current tab gave way to a link in the artifacts column, shown while a build runs; /current itself stays routable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
c1869ea427
commit
962836beaf
@@ -250,8 +250,8 @@ function renderBuildRow(build, allowRestart) {
|
||||
|
||||
const artifactsCell = elem("td");
|
||||
artifactsCell.dataset.label = "Artifacts";
|
||||
const inProgress = build.status === "running" || build.status === "pending";
|
||||
if (build.artifactKey) {
|
||||
const inProgress = build.status === "running" || build.status === "pending";
|
||||
const artifactLink = elem("a", "artifact-link", inProgress ? "⏳" : "📄");
|
||||
artifactLink.href = "/builds/" + encodeURIComponent(build.artifactKey);
|
||||
artifactLink.title = inProgress ? "Open build log — no artifacts yet" : "Open artifacts";
|
||||
@@ -263,7 +263,13 @@ function renderBuildRow(build, allowRestart) {
|
||||
permanentLink.title = "Permanent link: artifacts of the latest green build";
|
||||
artifactsCell.appendChild(permanentLink);
|
||||
}
|
||||
if (!build.artifactKey && !build.latestGreenUrl) {
|
||||
if (inProgress) {
|
||||
const liveLink = elem("a", "artifact-link", "📡");
|
||||
liveLink.href = "/current";
|
||||
liveLink.title = "Watch this build live";
|
||||
artifactsCell.appendChild(liveLink);
|
||||
}
|
||||
if (!build.artifactKey && !build.latestGreenUrl && !inProgress) {
|
||||
artifactsCell.textContent = "n/a";
|
||||
}
|
||||
row.appendChild(artifactsCell);
|
||||
|
||||
@@ -58,6 +58,8 @@
|
||||
<a th:if="${row.latestGreenUrl != null}" class="artifact-link"
|
||||
th:href="${row.latestGreenUrl}"
|
||||
title="Permanent link: artifacts of the latest green build">🔗</a>
|
||||
<a th:if="${row.inProgress}" class="artifact-link" href="/current"
|
||||
title="Watch this build live">📡</a>
|
||||
<span th:if="${row.artifactKey == ''}">n/a</span>
|
||||
</td>
|
||||
<td class="actions-cell">
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
<span th:if="${view == 'history'}">History</span>
|
||||
<a th:unless="${view == 'history'}" href="/history">History</a>
|
||||
<span th:if="${view == 'current'}">Current</span>
|
||||
<a th:unless="${view == 'current'}" href="/current">Current</a>
|
||||
<span th:if="${view == 'system'}">System</span>
|
||||
<a th:unless="${view == 'system'}" href="/system">System</a>
|
||||
</nav>
|
||||
|
||||
@@ -9,8 +9,13 @@
|
||||
|
||||
<h2>v0.9.8 <span class="muted">— 2026-08-10</span></h2>
|
||||
<ul>
|
||||
<li>The artifact index also links report pages of directories without an <code>index.html</code>,
|
||||
such as Gradle's <code>--profile</code> report with its timestamped file name.</li>
|
||||
<li>The artifact index also links report pages of directories without an <code>index.html</code>.
|
||||
A directory holding a single page is linked as a directory, so Gradle's <code>--profile</code>
|
||||
report keeps a stable URL although its file name carries the build timestamp.</li>
|
||||
<li>The permanent <code>🔗</code> link now appears on the build it resolves to — the branch's
|
||||
latest green build — instead of on every build of that branch, and on all build tables.</li>
|
||||
<li>The <em>Current</em> tab gave way to a <code>📡</code> link in the artifacts column,
|
||||
shown while a build runs.</li>
|
||||
</ul>
|
||||
|
||||
<h2>v0.9.7 <span class="muted">— 2026-08-10</span></h2>
|
||||
|
||||
Reference in New Issue
Block a user