Skip to content

Commit e20c68f

Browse files
test(gitlab): use push SHA to avoid stale MR API (#2453)
GitLab's GetMergeRequest API may return stale SHA after force push. Use SHA from PushFilesToRefGit directly instead. Signed-off-by: Akshay Pant <akshay.akshaypant@gmail.com>
1 parent 8eb79d5 commit e20c68f

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

test/gitlab_merge_request_test.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -913,30 +913,26 @@ func TestGitlabConsistentCommitStatusOnMR(t *testing.T) {
913913
BaseRefName: projectinfo.DefaultBranch,
914914
PushForce: true,
915915
}
916-
_ = scm.PushFilesToRefGit(t, scmOpts, entries)
916+
newSHA := scm.PushFilesToRefGit(t, scmOpts, entries)
917917
runcnx.Clients.Log.Infof("Pushed good .tekton files to branch: %s", targetRefName)
918918

919-
// get latest MR because of last commit it is update
920-
mr, _, err = glprovider.Client().MergeRequests.GetMergeRequest(projectinfo.ID, mr.IID, nil)
921-
assert.NilError(t, err)
922-
923919
sopt = twait.SuccessOpt{
924920
Title: commitTitle,
925921
OnEvent: "Merge Request",
926922
TargetNS: targetNS,
927923
NumberofPRMatch: 2,
928-
SHA: mr.SHA,
924+
SHA: newSHA,
929925
}
930926

931927
twait.Succeeded(ctx, t, runcnx, opts, sopt)
932-
labelSelector = fmt.Sprintf("%s=%s", keys.SHA, formatting.CleanValueKubernetes(mr.SHA))
928+
labelSelector = fmt.Sprintf("%s=%s", keys.SHA, formatting.CleanValueKubernetes(newSHA))
933929
prsNew, err = runcnx.Clients.Tekton.TektonV1().PipelineRuns(targetNS).List(ctx, metav1.ListOptions{
934930
LabelSelector: labelSelector,
935931
})
936932
assert.NilError(t, err)
937933
assert.Assert(t, len(prsNew.Items) == 2)
938934

939-
commitStatuses, _, err = glprovider.Client().Commits.GetCommitStatuses(projectinfo.ID, mr.SHA, &clientGitlab.GetCommitStatusesOptions{})
935+
commitStatuses, _, err = glprovider.Client().Commits.GetCommitStatuses(projectinfo.ID, newSHA, &clientGitlab.GetCommitStatusesOptions{})
940936
assert.NilError(t, err)
941937
assert.Assert(t, len(commitStatuses) == 2)
942938

0 commit comments

Comments
 (0)