updated artifact links: added target="_blank" and rel="noopener noreferrer" to ensure external logs and reports open in a new tab; updated docs and tests accordingly

This commit is contained in:
Michael Hoennig
2026-07-07 15:39:59 +02:00
parent a659cd6764
commit d3a69a151a
3 changed files with 12 additions and 6 deletions
+4 -3
View File
@@ -45,7 +45,8 @@
<h2>Logs</h2>
<ul th:if="${!#lists.isEmpty(logs)}">
<li th:each="log : ${logs}">
<a th:href="'/artifacts/' + ${artifactKey} + '/' + ${log}" th:text="${log}">build.log</a>
<a th:href="'/artifacts/' + ${artifactKey} + '/' + ${log}" target="_blank"
rel="noopener noreferrer" th:text="${log}">build.log</a>
</li>
</ul>
<p th:if="${#lists.isEmpty(logs)}" class="muted">
@@ -56,8 +57,8 @@
<h2>Build Artifacts</h2>
<ul th:if="${!#lists.isEmpty(reportIndexes)}">
<li th:each="report : ${reportIndexes}">
<a th:href="'/artifacts/' + ${artifactKey} + '/reports/' + ${report}"
th:text="'reports/' + ${report}">reports/tests/index.html</a>
<a th:href="'/artifacts/' + ${artifactKey} + '/reports/' + ${report}" target="_blank"
rel="noopener noreferrer" th:text="'reports/' + ${report}">reports/tests/index.html</a>
</li>
</ul>
<p th:if="${#lists.isEmpty(reportIndexes)}" class="muted">
@@ -210,10 +210,11 @@ class UiControllerTest : FunSpec() {
.perform(get("/builds/main-abc123-key"))
.andExpect(status().isOk)
.andExpect(content().string(containsString("./gradlew --console=plain --no-daemon test")))
.andExpect(content().string(containsString("/artifacts/main-abc123-key/build.stdout.log")))
.andExpect(content().string(containsString("""/artifacts/main-abc123-key/build.stdout.log" target="_blank"""")))
.andExpect(content().string(containsString("/artifacts/main-abc123-key/build.stderr.log")))
.andExpect(content().string(containsString("reports/tests/test/index.html")))
.andExpect(content().string(not(containsString("reports/tests/test/packages/index.html"))))
.andExpect(
content().string(containsString("""/artifacts/main-abc123-key/reports/tests/test/index.html" target="_blank"""")),
).andExpect(content().string(not(containsString("reports/tests/test/packages/index.html"))))
}
test("artifact index of a pruned build explains the missing artifacts") {