Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

github status labels show for jobs that do not run against a PR #4912

Closed
BenTheElder opened this issue Oct 6, 2017 · 14 comments
Closed

github status labels show for jobs that do not run against a PR #4912

BenTheElder opened this issue Oct 6, 2017 · 14 comments
Labels
area/prow Issues or PRs related to prow help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/bug Categorizes issue or PR as related to a bug. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@BenTheElder
Copy link
Member

BenTheElder commented Oct 6, 2017

Ignoring even all of the cases where we change the jobs configuration, if PR foo modifies some file and then later updates to no longer modify this file it seems we will leave up a GitHub context/status for jobs against the initial PR.

I think this is actually rooted in the fact that we persist the job spec for a PR when re-running it so stale PRs can get into a weird state. I'm not sure what we can or should do about this, but it has caused a bit of confusion. EG kubernetes/kubernetes#49654 (comment)

See also #4662

@BenTheElder BenTheElder added area/prow Issues or PRs related to prow kind/bug Categorizes issue or PR as related to a bug. labels Oct 6, 2017
@BenTheElder
Copy link
Member Author

/cc @cjwagner @Kargakis @spxtr @luxas

@BenTheElder
Copy link
Member Author

BenTheElder commented Oct 6, 2017

In particular pull-kubernetes-e2e-kubeadm-gce — Parent Job Status Changed: Job triggered. was left on a lot of PRs in k/k and has been a recurring source of confusion as to PRs being green. One option we might take is to just improve the documentation around jobs being required or not.

@jcbsmpsn
Copy link
Contributor

jcbsmpsn commented Oct 6, 2017

Improving the documentation doesn't help a lot unless there is a link to the documentation from the yellow check. Otherwise the documentation is too far away from the PR.

@BenTheElder
Copy link
Member Author

@jcbsmpsn we use the detail link to point to the job results on gubernator, so I don't think linking to the documentation from the yellow check instead would be an improvement.

Reviewers in particular though should be aware of jobs being in the required-context or not. There are more not-required jobs than required because we don't want to block PRs but we do want them to be run and some of them to be visible. Some of these jobs are going to be blocking eventually but are not yet, EG: #4642

@spiffxp
Copy link
Member

spiffxp commented Oct 6, 2017

https://developer.github.com/v3/repos/statuses/#statuses

We can't remove status contexts, best we would be able to do is overwrite them for a given commit if they're known to be stale.

Status contexts that are required for merge have a little "Required" label next to them in the PR (though this information doesn't persist after merge, eg: kubernetes/kubernetes#52823 (comment)

@BenTheElder BenTheElder changed the title status labels linger for jobs that should no longer run against a PR github status labels show for jobs that do not run against a PR Oct 18, 2017
@BenTheElder BenTheElder added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Oct 18, 2017
@BenTheElder
Copy link
Member Author

This is still a problem, I'm not sure what causes this but the kubeadm job shows up as "Yellow" on PRs in k/k very commonly (xref: #4931)
/cc @luxas

We can "fix" this when #4932 is fixed but there is still a bug related to this somewhere and it will resurface if this job ever becomes blocking...

@BenTheElder
Copy link
Member Author

xref: #5655 (comment)

@0xmichalis
Copy link
Contributor

Yeah, let's use this issue to track adding a skip command.

@0xmichalis
Copy link
Contributor

0xmichalis commented Dec 7, 2017

I have started working on the skip plugin.

@0xmichalis
Copy link
Contributor

@BenTheElder can you verify when you see a stale PR that GetCombinedStatus for its HEAD does include the stale context?

@BenTheElder
Copy link
Member Author

@Kargakis I can in a bit, I need to debug #5859, @cjwagner would you have a second to verify this? If not I can later, I definitely want to see this sorted out.

@cjwagner
Copy link
Member

cjwagner commented Dec 7, 2017

I can verify it if I could find such an example, but I don't see any PRs that have a stale context. I tried to reproduce by pushing a new commit to kubernetes/kubernetes#55339 after having run the pull-kubernetes-cross job manually, but the context was skipped properly.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 7, 2018
@BenTheElder
Copy link
Member Author

I think we've done what we can here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/prow Issues or PRs related to prow help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/bug Categorizes issue or PR as related to a bug. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

7 participants