fix(ci): synchronize updates the commit status asynchronously
When a new commit is pushed to an existing pull request, the update of the commit status will happen asynchronously, via the git hook. --- FAIL: TestPullRequestCommitStatus/synchronize (2.14s) actions_trigger_test.go:331: Error Trace: /workspace/forgejo/forgejo/tests/integration/actions_trigger_test.go:331 Error: Should be true Test: TestPullRequestCommitStatus/synchronize
This commit is contained in:
parent
520a7bca93
commit
983aed4268
1 changed files with 6 additions and 2 deletions
|
@ -328,7 +328,9 @@ jobs:
|
|||
sha, err := baseGitRepo.GetRefCommitID(pr.GetGitRefName())
|
||||
require.NoError(t, err)
|
||||
// verify the commit status changes to CommitStatusSuccess when the job changes to StatusSuccess
|
||||
assert.True(t, checkCommitStatus(sha, context, api.CommitStatusPending))
|
||||
require.Eventually(t, func() bool {
|
||||
return checkCommitStatus(sha, context, api.CommitStatusPending)
|
||||
}, 30*time.Second, 1*time.Second)
|
||||
for _, actionRun := range actionRuns {
|
||||
// verify the expected ActionRunJob was created and is StatusWaiting
|
||||
job := unittest.AssertExistsAndLoadBean(t, &actions_model.ActionRunJob{RunID: actionRun.ID, CommitSHA: sha})
|
||||
|
@ -339,7 +341,9 @@ jobs:
|
|||
actions_service.CreateCommitStatus(db.DefaultContext, job)
|
||||
}
|
||||
// verify the commit status changed to CommitStatusSuccess because the job(s) changed to StatusSuccess
|
||||
assert.True(t, checkCommitStatus(sha, context, api.CommitStatusSuccess))
|
||||
require.Eventually(t, func() bool {
|
||||
return checkCommitStatus(sha, context, api.CommitStatusSuccess)
|
||||
}, 30*time.Second, 1*time.Second)
|
||||
|
||||
testCase.assert(t, sha, testCase.onType, testCase.action, actionRuns)
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue