fix(actions): release claimed task if context is cancelled during FetchTask (#38343) (#38347)

This commit is contained in:
Giteabot
2026-07-05 22:38:47 -07:00
committed by GitHub
parent 6cd2c647ec
commit d4d81af583

View File

@@ -76,6 +76,15 @@ func PickTask(ctx context.Context, runner *actions_model.ActionRunner) (*runnerv
NotifyWorkflowRunStatusUpdateWithReload(ctx, job.RepoID, job.RunID)
}
// The job is claimed and its payload assembled, but if the request context was cancelled meanwhile, response can no longer reach the runner.
// Release the claim so another runner can pick the job up.
if err := ctx.Err(); err != nil {
if relErr := actions_model.ReleaseTaskForRunner(ctx, t); relErr != nil {
log.Error("ReleaseTaskForRunner [task_id: %d]: %v", t.ID, relErr)
}
return nil, false, err
}
return task, true, nil
}