@@ -445,10 +445,10 @@ func DeleteRuns(ctx *context.Context) {
445445 }
446446
447447 var (
448- eg = new (errgroup.Group )
449- actionRuns []* actions_model.ActionRun
450- actionTasks [] * actions_model. ActionTask
451- jobIDs [] int64
448+ eg = new (errgroup.Group )
449+ actionRuns []* actions_model.ActionRun
450+ jobIDs , taskIDs [] int64
451+ taskLogFileNames [] string
452452 )
453453 eg .Go (func () error {
454454 var err error
@@ -465,8 +465,16 @@ func DeleteRuns(ctx *context.Context) {
465465 for _ , actionRunJob := range actionRunJobs {
466466 jobIDs = append (jobIDs , actionRunJob .ID )
467467 }
468- actionTasks , err = actions_model .GetRunTasksByJobIDs (ctx , jobIDs )
469- return err
468+ actionTasks , err := actions_model .GetRunTasksByJobIDs (ctx , jobIDs )
469+ if err != nil {
470+ return err
471+ }
472+
473+ for _ , actionTask := range actionTasks {
474+ taskIDs = append (taskIDs , actionTask .ID )
475+ taskLogFileNames = append (taskLogFileNames , actionTask .LogFilename )
476+ }
477+ return nil
470478 })
471479
472480 err := eg .Wait ()
@@ -480,13 +488,13 @@ func DeleteRuns(ctx *context.Context) {
480488 return
481489 }
482490
483- err = actions_model .DeleteRunByIDs (ctx , req .ActionIDs , jobIDs )
491+ err = actions_model .DeleteActionRunAndChild (ctx , req .ActionIDs , jobIDs , taskIDs )
484492 if err != nil {
485493 ctx .ServerError ("failed to delete action_run" , err )
486494 return
487495 }
488496
489- removeActionTaskLogFilenames (actionTasks )
497+ removeActionTaskLogFilenames (taskLogFileNames )
490498
491499 ctx .Status (http .StatusNoContent )
492500}
@@ -495,15 +503,15 @@ type DeleteRunsRequest struct {
495503 ActionIDs []int64 `json:"actionIds"`
496504}
497505
498- func removeActionTaskLogFilenames (actionTasks []* actions_model. ActionTask ) {
506+ func removeActionTaskLogFilenames (taskLogFileNames []string ) {
499507 dirNameActionLog := "actions_log"
500508 go func () {
501- for _ , actionTask := range actionTasks {
509+ for _ , taskLogFileName := range taskLogFileNames {
502510 var fileName string
503511 if filepath .IsAbs (setting .AppDataPath ) {
504- fileName = filepath .Join (setting .AppDataPath , dirNameActionLog , actionTask . LogFilename )
512+ fileName = filepath .Join (setting .AppDataPath , dirNameActionLog , taskLogFileName )
505513 } else {
506- fileName = filepath .Join (setting .AppWorkPath , setting .AppDataPath , dirNameActionLog , actionTask . LogFilename )
514+ fileName = filepath .Join (setting .AppWorkPath , setting .AppDataPath , dirNameActionLog , taskLogFileName )
507515 }
508516
509517 if err := os .Remove (fileName ); err != nil {
0 commit comments