-
Notifications
You must be signed in to change notification settings - Fork 134
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
needs-ci
label is confusing
#1044
Comments
How useful is the label still? |
The idea was motivated by two things:
|
Couldn't that be achieved by a github status, which auto-succeeds if CI isn't required, and reports the CI status when it is required? (i guess that wouldn't cover the ability to override) |
then it needs to re-run and update the status once Jenkins CI has been run for the PR? |
The CI process itself can update the status on completion. |
@aduh95 is this issue still useful? Only asking because it's been a few years since the last discussion. |
Someone just triggered a fresh CI job on a PR of mine that had a passing CI, that I was waiting for the time limit to expire in order to land. Now we’re going to go into another cycle of “resume job” runs for the next several hours, because a collaborator misinterpreted “needs CI” to mean, well, that the PR needs CI to be run for it. We need to rename this terrible label ASAP. Perhaps |
I think we can just remove it. The CI requirement is already shown at the button of the GitHub UI. |
@joyeecheung Could you clarify what UI element you refer to? I must have never noticed that. |
Perhaps Joyee means the box above the merge button, that lists all the results of the GitHub Actions jobs? As in, if Actions jobs run, then by definition this PR needs CI. |
Yes, although I now realize that there would just be GitHub actions. We could also just..switch it to |
Oh wait, someone can still run arbitrary code via a PR so it should not be |
Oh, if we can install this https://plugins.jenkins.io/build-with-parameters/ we can even let the bot generate a URL that fills out the build parameters automatically |
I just noticed that needs-ci is used by |
Why do we need this label at all, though? We require contributors to land PRs via If that’s the case then maybe the bot that currently adds |
It was explained above #1044 (comment) though I'll say I've never seen anyone overriding the ncu judgement.. |
Okay, so if the only goal we need to preserve is the other one, “help collaborators tell if a PR requires CI to land” then what if we flipped the label? |
I've done it myself numerous times, for |
Isn't the overwrite only in place to tell ncu that it NEEDS CI when ncu thinks it doesn't? The condition is written as
What the bot does is the other way around, it thinks more PRs need CI than necessary (your use case). Though I am pretty sure both cases can be made redundant if we just update the path rules both in ncu and the bot. |
Also I hope that this is only talking about typings. Not comments in |
Hum I've done it for all kinds of comments, is that real that a comment could affect code? Do you have an example?
The CQ will still refuse to land the PR if the path is one where a full CI run is usually mandatory. ncu will also warn that the PR doesn't look ready. So I guess it's true that removing the label is never actually useful, but it does communicate to other reviewers “please do not start a CI, it's not necessary, I'll land this manually“ (although this message is rarely understood, so…) |
I present to you this magic bug that was witnessed by a table of Node.js TSC members and V8 team members (we were having a Node.js TSC & V8 dinner and thought hey why not fix some flakes as dessert) https://x.com/joyeecheung/status/1002281495505989632?s=46 |
So can we just invert it? CI is assumed to be required by default, and the Or if CI is just always required, then I guess we also wouldn’t need the label. It would be nice if a more limited CI could be required for docs-only changes, but that can be a future improvement. |
I think ci-unnecessary is a good idea. We can also use it for some kind of exceptional circumstances (like reverting X cause some test to fail mysteriously but we need it to fix a large regression ASAP? I hope that doesn’t happen but you never know) |
At this point its been over a year since the last discussion on this issue. I'm going to go ahead and close. Please let me know if that was not the right thing to do or feel free to reopen. |
This may start to be getting off topic, but I suspect we also need to explain the
needs-ci
label (or get rid of it or rename it). Specifically, I'm under the impression it should remain after the CI is run and green because it's not a label that means "this needs a Jenkins run in the future" but rather "this needs a Jenkins run for it to land because it modifies executable code". I think a lot of people think it means that first thing and remove it after Jenkins starts or after it's green.It may be too late to change this, but I wonder if in general, labels that are primarily for the bot/Actions should be prefixed with something so that it's clearer.
Originally posted by @Trott in #1039 (comment)
I'm fairly certain that label was repurposed and it was originally meant to be the latter before the contribution process changed to only requiring GitHub action runs for doc-only PRs.
Originally posted by @richardlau in #1039 (comment)
I agree, we should either rename it to
requires-Jenkins-CI
or similar, or have some kind of prefixing. Opening a new issue as I think it deserves its own discussionThe text was updated successfully, but these errors were encountered: