Skip to content

Commit 954fe95

Browse files
silverwindclaude
andcommitted
Avoid mutating task steps, extract hasName slice instead
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 991e3e5 commit 954fe95

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

routers/web/repo/actions/view.go

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -318,22 +318,27 @@ func convertToViewModel(ctx *context_module.Context, cursors []LogCursor, task *
318318
var viewJobs []*ViewJobStep
319319
var logs []*ViewStepLog
320320

321-
// Add "Run" prefix for unnamed steps
321+
steps := actions.FullSteps(task)
322+
323+
// Parse workflow to identify unnamed steps that need a "Run" prefix.
324+
// FullSteps prepends a "Set up job" step, so workflow step index is i-1.
325+
var hasName []bool
322326
if task.Job != nil {
323327
if wj, err := task.Job.ParseJob(); err == nil {
324-
for i, step := range task.Steps {
325-
if i < len(wj.Steps) && wj.Steps[i].Name == "" {
326-
step.Name = ctx.Locale.TrString("actions.runs.run", step.Name)
327-
}
328+
hasName = make([]bool, len(wj.Steps))
329+
for i, ws := range wj.Steps {
330+
hasName[i] = ws.Name != ""
328331
}
329332
}
330333
}
331334

332-
steps := actions.FullSteps(task)
333-
334-
for _, v := range steps {
335+
for i, v := range steps {
336+
summary := v.Name
337+
if wi := i - 1; wi >= 0 && wi < len(hasName) && !hasName[wi] {
338+
summary = ctx.Locale.TrString("actions.runs.run", summary)
339+
}
335340
viewJobs = append(viewJobs, &ViewJobStep{
336-
Summary: v.Name,
341+
Summary: summary,
337342
Duration: v.Duration().String(),
338343
Status: v.Status.String(),
339344
})

0 commit comments

Comments
 (0)