diff --git a/routers/api/actions/runner/runner.go b/routers/api/actions/runner/runner.go index e0bd8f3d8d..b36284e604 100644 --- a/routers/api/actions/runner/runner.go +++ b/routers/api/actions/runner/runner.go @@ -312,21 +312,9 @@ func (s *Service) UpdateLog( res.Msg.AckIndex = task.LogLength - var remove func() - if req.Msg.NoMore { - task.LogInStorage = true - remove, err = actions.TransferLogs(ctx, task.LogFilename) - if err != nil { - return nil, connect.NewError(connect.CodeInternal, fmt.Errorf("transfer logs: %w", err)) - } - } - - if err := actions_model.UpdateTask(ctx, task, "log_indexes", "log_length", "log_size", "log_in_storage"); err != nil { + if err := actions_model.UpdateTask(ctx, task, "log_indexes", "log_length", "log_size"); err != nil { return nil, connect.NewError(connect.CodeInternal, fmt.Errorf("update task: %w", err)) } - if remove != nil { - remove() - } return res, nil } diff --git a/services/actions/clear_tasks.go b/services/actions/clear_tasks.go index 507659d085..d597ad313b 100644 --- a/services/actions/clear_tasks.go +++ b/services/actions/clear_tasks.go @@ -10,7 +10,6 @@ import ( actions_model "forgejo.org/models/actions" "forgejo.org/models/db" - "forgejo.org/modules/actions" "forgejo.org/modules/log" "forgejo.org/modules/optional" "forgejo.org/modules/setting" @@ -54,18 +53,6 @@ func stopTasks(ctx context.Context, opts actions_model.FindTaskOptions) error { log.Warn("Cannot stop task %v: %v", task.ID, err) continue } - - remove, err := actions.TransferLogs(ctx, task.LogFilename) - if err != nil { - log.Warn("Cannot transfer logs of task %v: %v", task.ID, err) - continue - } - task.LogInStorage = true - if err := actions_model.UpdateTask(ctx, task, "log_in_storage"); err != nil { - log.Warn("Cannot update task %v: %v", task.ID, err) - continue - } - remove() } CreateCommitStatus(ctx, jobs...) diff --git a/services/actions/task.go b/services/actions/task.go index 34b838f2a3..ddc35d6921 100644 --- a/services/actions/task.go +++ b/services/actions/task.go @@ -208,7 +208,7 @@ func StopTask(ctx context.Context, taskID int64, status actions_model.Status) er } } - return nil + return TransferLogsAndUpdateLogInStorage(ctx, task) } // UpdateTaskByState updates the task by the state. @@ -264,6 +264,12 @@ func UpdateTaskByState(ctx context.Context, runnerID int64, state *runnerv1.Task } } + if task.Status.IsDone() { + if err := TransferLogsAndUpdateLogInStorage(ctx, task); err != nil { + return nil, err + } + } + if err := task.LoadAttributes(ctx); err != nil { return nil, err }