reintroduced legacy Branches view: added /branches endpoint for listing origin branches and their latest builds (or unknown for never-built branches), updated UI with reload button and navigation, and enhanced API and tests

This commit is contained in:
Michael Hoennig
2026-07-07 15:16:01 +02:00
parent f1f5946ac4
commit a659cd6764
14 changed files with 310 additions and 9 deletions
@@ -29,6 +29,45 @@ data class BuildResultDto(
}
}
/**
* One entry of `GET /api/branches`, like a legacy branches-view row: an origin
* branch with its latest build, or an `unknown` placeholder when never built.
*/
data class BranchDto(
val branch: String,
val commit: String,
val status: String,
val startedAt: Instant?,
val durationSeconds: Long?,
val artifactKey: String,
) {
companion object {
fun from(
branch: String,
headCommit: String,
latest: BuildResult?,
) = if (latest == null) {
BranchDto(
branch = branch,
commit = headCommit,
status = CommitStatusDto.UNKNOWN_STATUS,
startedAt = null,
durationSeconds = null,
artifactKey = "",
)
} else {
BranchDto(
branch = branch,
commit = latest.commit,
status = latest.status.jsonName,
startedAt = latest.startedAt,
durationSeconds = latest.duration?.seconds,
artifactKey = latest.artifactKey,
)
}
}
}
/** One entry of `GET /api/builds/current`; the log grows while the build runs. */
data class CurrentBuildDto(
val branch: String,