Add a doctor command to fix inconsistent run status (#35840) (#35845)

Backport #35840

#35783 fixes an actions rerun bug. Due to this bug, some runs may be
incorrectly marked as `StatusWaiting` even though all the jobs are in
done status. These runs cannot be run or cancelled. This PR adds a new
doctor command to fix the inconsistent run status.

```
gitea doctor check --run fix-actions-unfinished-run-status --fix
```
This commit is contained in:
Zettat123
2025-11-04 12:16:36 -07:00
committed by GitHub
parent 7ea9722c1d
commit 61011f1648
7 changed files with 190 additions and 1 deletions

View File

@@ -30,6 +30,6 @@ func TestUpdateRepoRunsNumbers(t *testing.T) {
err = updateRepoRunsNumbers(t.Context(), repo)
assert.NoError(t, err)
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4})
assert.Equal(t, 4, repo.NumActionRuns)
assert.Equal(t, 5, repo.NumActionRuns)
assert.Equal(t, 3, repo.NumClosedActionRuns)
}