Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Finish the live log card

257e0d81c4502684727186b0a1231596c5d8791e · Keenan Nemetz · 11d ago · parent 7c94596a

Finish the live log card

Drop the stale size line and only show attempt chips when there is more than one
attempt. The live viewer updates its state label to complete when the server marks
the log final.

server/web/runs.go +2−8

@@ -272,13 +272,9 @@ func (w *Web) RunPage(rw http.ResponseWriter, r *http.Request) {
272 272 if !run.Started.IsZero() && !end.IsZero() && end.After(run.Started) {
273 273 took = end.Sub(run.Started)
274 274 }
275 logBytes := int64(0)
276 275 logAttempt := run.Attempts
277 if len(logs) > 0 {
278 logBytes = logs[len(logs)-1].Size
279 if run.Status != runs.StatusRunning {
280 logAttempt = logs[len(logs)-1].Attempt
281 }
276 if len(logs) > 0 && run.Status != runs.StatusRunning {
277 logAttempt = logs[len(logs)-1].Attempt
282 278 }
283 279 w.render(rw, "run", struct {
284 280 Page
@@ -287,7 +283,6 @@ func (w *Web) RunPage(rw http.ResponseWriter, r *http.Request) {
287 283 Steps []runStepView
288 284 Duration time.Duration
289 285 Wait time.Duration
290 LogBytes int64
291 286 Artifacts []runs.Artifact
292 287 Logs []runs.LogRef
293 288 HasLog bool
@@ -306,7 +301,6 @@ func (w *Web) RunPage(rw http.ResponseWriter, r *http.Request) {
306 301 Steps: runSteps(run, rec, m.Name),
307 302 Duration: took,
308 303 Wait: run.Wait(),
309 LogBytes: logBytes,
310 304 Artifacts: arts,
311 305 Logs: logs,
312 306 HasLog: len(logs) > 0 || run.Status == runs.StatusRunning,