Test-infra: Tide is failing to set statuses

Created on 5 Jan 2018  路  5Comments  路  Source: kubernetes/test-infra

Tide is running into some problems setting statuses:

  1. Some GraphQL PullRequest objects are missing HeadRefs, while the V3 API has them. So some of the `OID` fields in the `PullRequest` structs are empty for specific PRs. The GraphQL query:
    {
     repository(owner:"kubernetes", name:"charts"){
       pullRequest(number:3219) { 
         headRef { target { oid } }
       }
     }
    }
    
    Returns "pullRequest": { "headRef": null}, but on the v3 API ( https://api.github.com/repos/kubernetes/charts/pulls/3219 ), the head ref is present as expected. @rmmh Notified Github of this issue.
  2. Tide repeatedly updated specific commit statuses as if they had not been successfully set the previous loop. Each sync loop the following was logged:
    {"client":"github","level":"info","msg":"CreateStatus(kubernetes, test-infra, c165db353a954700a695f36f70a2c1c14bdf26ce, {pending https://prow.k8s.io/tide.html Not in tide pool. tide})","time":"2018-01-04T20:50:28Z"}
    {"client":"github","level":"info","msg":"CreateStatus(kubernetes, federation, adae9fe32bb0f913627893aafb79d64da7278d9d, {pending https://prow.k8s.io/tide.html Not in tide pool. tide})","time":"2018-01-04T20:50:28Z"}
    {"client":"github","level":"info","msg":"CreateStatus(kubernetes, charts, 4ba0bf6220f487c8c40865020afac67dc9e576c7, {pending https://prow.k8s.io/tide.html Not in tide pool. tide})","time":"2018-01-04T20:50:28Z"}
    
  3. If Tide fails to set a single status the entire sync loop is aborted. ref #6152

cc @spxtr

areprow

All 5 comments

I reverted our Tide deployment to version 0.16 and used the migratestatus tool to set the tide contexts that were created to "success" since Tide:0.16 does not ignore its own status context.

Does 1) happen every time? I'm pretty sure I didn't run into that when I did some manual testing.

It happens every time on 2 specific PRs:
kubernetes/contrib#2701
kubernetes/charts#3219

It makes sense that you didn't run into this while testing since it only affects 2 of the 425 PRs that Tide looked at so it is likely a rare occurrence.

I'm making a PR to fix (1) by fetching the OID as part of the Commit instead of the HeadRef which may have been deleted. (Ref https://platform.github.community/t/some-prs-are-missing-head-refs/4586)
I will look into reproducing and fixing (2) once that is fixed.

Tide statuses seems to be working now! :tada:
No sign of problem (2).

Was this page helpful?
0 / 5 - 0 ratings