Confusing status of a Pull Request

113 views
Skip to first unread message

René Scheibe

unread,
Jan 6, 2015, 9:45:01 AM1/6/15
to jenkin...@googlegroups.com
I was wondering about the pull request status after the commits of it where successfully tested by Jenkins. (Or at least I think it was tested successfully because the Jenkins job was successful.)
It says that is has 1 pending check and failed checks - see the attached screenshot.

Can anybody shed some light on this?

René
pull-request_jenkins-done.png

René Scheibe

unread,
Jan 6, 2015, 11:21:10 AM1/6/15
to jenkin...@googlegroups.com
I think I understood it now. It's two checks because jenkins-core has the downstream project acceptance-test-harness.
The only problem is that both Details links are linking to the jenkins-core build. I'll check with the GitHub guys if this is a bug.

René

Jesse Glick

unread,
Jan 6, 2015, 3:50:16 PM1/6/15
to Jenkins Dev
On Tue, Jan 6, 2015 at 9:45 AM, René Scheibe <rene.s...@gmail.com> wrote:
> It says that is has 1 pending check and failed checks - see the attached
> screenshot.
>
> Can anybody shed some light on this?

It is a bug in the PR builder plugin. Kohsuke said he would look at it.

René Scheibe

unread,
Jan 7, 2015, 7:21:28 AM1/7/15
to jenkin...@googlegroups.com
FYI, what I got back from GitHub support.

So we fix a) the Details link and they have a look at b) the Status message.

René

On 01/07/2015 10:19 AM, Ivan Žužak wrote:
> Hi René,
>
> Thanks for getting in touch and providing those details -- that's helpful.
>
> To answer your second question first -- yeah, I agree that the text is a bit misleading when it says that there are failed checks. I'll open an internal issue for this and follow up with you when there's any news.
>
> As for what the "Details" links point to -- there's not much we can do about that. Those links are defined by the statuses created for the commit, and those statuses are not created by us. You can see the statuses for that specific commit here:
>
> https://api.github.com/repos/jenkinsci/jenkins/statuses/711e5233f3c6c3777613541d8a988932f3b64a02
>
> The URL which is used for the Details link is the "target_url". However, statuses are grouped by "context", as documented here:
>
> https://developer.github.com/v3/repos/statuses/
>
> So, if multiple statuses are created with different contexts, the latest status for each context will be used and the target_url of those statuses will determine what the Details link points to.
>
> In the statuses created for that commit, I don't see anything related to "acceptance-test-harness", as you mentioned. Can you double-check your build process and see that such statuses are really created? Let me know if this doesn't explain the behavior you observed or if I misunderstood anything.
>
> Cheers,
> Ivan
>
>> Im talking for example about the pull request: https://github.com/jenkinsci/jenkins/pull/1515.
> The current status looks like this:
> ![pull-request-jenkins-status](https://cloud.githubusercontent.com/assets/16874/5631684/a0bf0ff6-95c8-11e4-92ba-4c5bcc8df95d.png)
>
> Relevant detail: The "jenkins-core" project has a downstream project "acceptance-test-harness".
>
> The current behavior is really confusing because:
> a) Both "Details" links link to the same build (https://jenkins.ci.cloudbees.com/job/core/job/jenkins-core/1891/).
> b) It says "This branch has failed checks..." but it hasn't.
>
> Expectations:
> a) One "Detail" link should link to the "jenkins-core" build and one to the "acceptance-test-harness" build.
> b) It should say "This branch has pending checks..."

Jesse Glick

unread,
Jan 7, 2015, 3:44:29 PM1/7/15
to Jenkins Dev
On Wed, Jan 7, 2015 at 7:21 AM, René Scheibe <rene.s...@gmail.com> wrote:
> So we fix a) the Details link and they have a look at b) the Status message.

Not sure what that means. The links are fine. acceptance-test-harness
is a separate repo and has nothing to do with a PR against the jenkins
repo.

The problem is just that there are two statuses displayed, when the
second (after the build passes) ought to have superseded and hidden
the first (when the build starts). According to an earlier thread on
this list, RM-2775 [1] in the PR plugin is a consequence of an
enhancement on the GH side [2].


[1] https://rm.cloudbees.com/issues/2775
[2] https://github.com/blog/1935-see-results-from-all-pull-request-status-checks

René Scheibe

unread,
Jan 7, 2015, 5:27:51 PM1/7/15
to jenkin...@googlegroups.com
On 01/07/2015 09:44 PM, Jesse Glick wrote:
> On Wed, Jan 7, 2015 at 7:21 AM, René Scheibe <rene.s...@gmail.com> wrote:
>> So we fix a) the Details link and they have a look at b) the Status message.
>
> Not sure what that means. The links are fine. acceptance-test-harness
> is a separate repo and has nothing to do with a PR against the jenkins
> repo.
I have not enough rights to see the job config details in Jenkins.
From the "Details" link I just saw that the triggered "jenkins-core" job has "acceptance-test-harness" as downstream job. So I thought the pending result was from this one. Seems I was wrong.

> The problem is just that there are two statuses displayed, when the
> second (after the build passes) ought to have superseded and hidden
> the first (when the build starts). According to an earlier thread on
> this list, RM-2775 [1] in the PR plugin is a consequence of an
> enhancement on the GH side [2].
>
> [1] https://rm.cloudbees.com/issues/2775
> [2] https://github.com/blog/1935-see-results-from-all-pull-request-status-checks
I have no account for this issue tracker.

Following the status link [1] from the Jenkins support email, it clearly shows that two different "context"s ("Jenkins" and "default") are used when generating the status. GitHub groups statuses by context. So always using the same context should resolve the problem.

I already had a look at the GitHub pull request builder plugin [2] you mentioned yesterday but it confused me. I could not even find simple strings like "Jenkins is validating pull request ..." or "This pull request looks good". So I am not even sure if I am looking at the correct sources.

[1] https://api.github.com/repos/jenkinsci/jenkins/statuses/711e5233f3c6c3777613541d8a988932f3b64a02
[2] https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin

Cheers
René

Jesse Glick

unread,
Jan 8, 2015, 8:53:38 AM1/8/15
to Jenkins Dev
On Wed, Jan 7, 2015 at 5:27 PM, René Scheibe <rene.s...@gmail.com> wrote:
> always using the same context should resolve the problem.

I will pass this tip along, thanks.

> I already had a look at the GitHub pull request builder plugin [2] you mentioned yesterday
>
> [2] https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin

Different plugin, not OSS.

René Scheibe

unread,
Jan 14, 2015, 5:43:47 PM1/14/15
to jenkin...@googlegroups.com

On 01/07/2015 10:19 AM, Ivan Žužak wrote:
> Hi René,
>
> Thanks for getting in touch and providing those details -- that's helpful.
>
> To answer your second question first -- yeah, I agree that the text is a bit misleading when it says that there are failed checks. I'll open an internal issue for this and follow up with you when there's any news.

Just to let you know that GitHub support told me that they now have fix the above issue:
Hi René,

Just wanted to let you know that this should be fixed now -- if there are no failed statuses and if there are some pending statuses, then the text should now state that there are pending checks (not failed checks).

Thanks again for pointing this out, and let us know if you notice anything else.

Cheers,
Ivan

Reply all
Reply to author
Forward
0 new messages