You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hey, not sure if this is the right place to ask (is it?)
There is a request-ci label which saves me the hassle of going to jenkins, entering all the details and starting a build for pull requests.
It would be useful to me if there was a similar label for resume-ci (when most builds pass but one is flakey or failed due to an unrelated infra issue).
Bonus points if it queues the "resume" even if the build didn't finish yet - but either way would save me time.
This issue is stale because it has been open many days with no activity. It will be closed soon unless the stale label is removed or a comment is made.
I can see how this would seem to be useful on the surface, and maybe it really would be, but I wonder if it would encourage resuming CI runs without looking at what actually failed. I could be wrong, but I would be cautious about the way the more we make it so that we don't check actual CI runs and just keep re-running them until they pass, the less useful we make CI.
I can see how this would seem to be useful on the surface, and maybe it really would be, but I wonder if it would encourage resuming CI runs without looking at what actually failed. I could be wrong, but I would be cautious about the way the more we make it so that we don't check actual CI runs and just keep re-running them until they pass, the less useful we make CI.
Instead of effort put into making such a label work, I would prefer to see a large effort put into making CI more reliable so that resuming runs is the exception rather than the rule.
Reacted by Richard Lau, Michaël Zasso, Mesteery and Tobias Nießen
I wonder if it would encourage resuming CI runs without looking at what actually failed
The functionality already exists in Jenkins, so if someone wants to resume CI without looking at the failures, they would do it regardless of the label. I don't see how just adding the label for convenience would encourage more of that.
Instead of effort put into making such a label work, I would prefer to see a large effort put into making CI more reliable so that resuming runs is the exception rather than the rule.
I think people are already putting in the effort of making CI more reliable - there are currently 42 open issues and 427 resolved ones that have the
flaky-testIssues and PRs involving tests that fail intermittently in CI.
label but flaky tests seem to pop up every now and then. Writing more tests increases the chances of introducing flaky ones.
For resuming you will need to add functionality to node-core-utils. You would need to investigate if there is a Jenkins REST API end point for resuming a build.
The functionality already exists in Jenkins, so if someone wants to resume CI without looking at the failures, they would do it regardless of the label. I don't see how just adding the label for convenience would encourage more of that.
IIUC, the label means that Triagers can do it too, so it expands the pool of people that have access to the resume feature. This is good, but also has the potential for the unintended effect I noted.
I think people are already putting in the effort of making CI more reliable
Some people are, yes. But there is not a large coordinated effort like there was when the Testing WG existed, for example. And I think we need something like that. (You'll notice I'm not volunteering to do it, so I'm part of the problem here, for sure.)
IIUC, the label means that Triagers can do it too, so it expands the pool of people that have access to the resume feature. This is good, but also has the potential for the unintended effect I noted.
That shouldn't be necessary though. We can make use of the GH APIs to check if the person who added the label is a collaborator and then run the actions.
Some people are, yes. But there is not a large coordinated effort like there was when the Testing WG existed, for example. And I think we need something like that. (You'll notice I'm not volunteering to do it, so I'm part of the problem here, for sure.)
So we don't have a clear path to make CI more resilient? Just wanted to make sure if you were -1 about a PR landing that adds this feature at least for collaborators only.
Hey, I'd like the TSC to discuss two things here (personal opinions below):
Should triagers be able to land things and run CI from the GitHub labels?
Should Node.js add a resume-ci label?
Regarding CI and landing things: Personally I think running CI posts some but not significant risks - and it means the TSC needs to decide how strict it wants to be about onboarding triagers . Landing things with the label is fine given NCU enforces reviews, green CI and a correct commit format.
Regarding resume-ci: Given the CI is flaky and has been for 5+ years at different points I do see a lot of value in such a label or streamlining how CI runs with flaky tests better (that is: not just mark them flaky but logic like: "If this test fails everywhere and in only one architecture and is not in a file changed in this PR - automatically don't fail the CI on it")
@Trott I'm wondering how we would do that in general. Mapping tests to which files they might be affected by is not obvious to me.
The resume ci label seems useful to me as well, I share the concern over making sure we look at failures before resuming, but that might be handled by documenting or surfacing existing documentation that sets the expectations. I'd personally be fine with an expectation that you look at failures make sure there are open issues for them before resuming.
This issue has been marked as stale due to 210 days of inactivity.
It will be automatically closed in 30 days if no further activity occurs. If this is still relevant, please leave a comment or update it to keep it open.
This issue has been automatically closed after 30 days of inactivity following its stale status (no activity for a total of 120 days).
If this is still relevant, feel free to reopen it or leave a comment with additional details so we can continue the discussion.
Activity
github-actions commentedon Sep 26, 2021
This issue is stale because it has been open many days with no activity. It will be closed soon unless the stale label is removed or a comment is made.
benjamingr commentedon Oct 3, 2021
This would still be useful
richardlau commentedon Nov 15, 2021
I'm going to move this over to the core repo as CI triggering via labels is now done via Actions (https://github.com/nodejs/node/blob/master/.github/workflows/auto-start-ci.yml).
I'm not sure if it's possible to resume a build in Jenkins before it has completed (i.e. any queuing would have to be self-managed).
Trott commentedon Nov 16, 2021
I can see how this would seem to be useful on the surface, and maybe it really would be, but I wonder if it would encourage resuming CI runs without looking at what actually failed. I could be wrong, but I would be cautious about the way the more we make it so that we don't check actual CI runs and just keep re-running them until they pass, the less useful we make CI.
Trott commentedon Nov 16, 2021
Instead of effort put into making such a label work, I would prefer to see a large effort put into making CI more reliable so that resuming runs is the exception rather than the rule.
RaisinTen commentedon Mar 3, 2022
The functionality already exists in Jenkins, so if someone wants to resume CI without looking at the failures, they would do it regardless of the label. I don't see how just adding the label for convenience would encourage more of that.
I think people are already putting in the effort of making CI more reliable - there are currently 42 open issues and 427 resolved ones that have the flaky-testIssues and PRs involving tests that fail intermittently in CI.
label but flaky tests seem to pop up every now and then. Writing more tests increases the chances of introducing flaky ones.
richardlau commentedon Mar 3, 2022
If anyone wants to attempt this:
request-cilabelstart-ci.shcallsnode-core-utils'sncu-ci runto start the CInode/tools/actions/start-ci.sh
Line 13 in 2d6aea7
For resuming you will need to add functionality to
node-core-utils. You would need to investigate if there is a Jenkins REST API end point for resuming a build.Trott commentedon Mar 3, 2022
IIUC, the label means that Triagers can do it too, so it expands the pool of people that have access to the resume feature. This is good, but also has the potential for the unintended effect I noted.
Some people are, yes. But there is not a large coordinated effort like there was when the Testing WG existed, for example. And I think we need something like that. (You'll notice I'm not volunteering to do it, so I'm part of the problem here, for sure.)
RaisinTen commentedon Mar 4, 2022
That shouldn't be necessary though. We can make use of the GH APIs to check if the person who added the label is a collaborator and then run the actions.
So we don't have a clear path to make CI more resilient? Just wanted to make sure if you were -1 about a PR landing that adds this feature at least for collaborators only.
Trott commentedon Mar 5, 2022
I'm not -1 on that or extending it to triagers.
benjamingr commentedon Mar 5, 2022
Hey, I'd like the TSC to discuss two things here (personal opinions below):
resume-cilabel?Regarding CI and landing things: Personally I think running CI posts some but not significant risks - and it means the TSC needs to decide how strict it wants to be about onboarding triagers . Landing things with the label is fine given NCU enforces reviews, green CI and a correct commit format.
Regarding
resume-ci: Given the CI is flaky and has been for 5+ years at different points I do see a lot of value in such a label or streamlining how CI runs with flaky tests better (that is: not just mark them flaky but logic like: "If this test fails everywhere and in only one architecture and is not in a file changed in this PR - automatically don't fail the CI on it")Ayase-252 commentedon Mar 5, 2022
I think the TSC had decided that triagers are eligible to use commit queue to land PR.
Refs: nodejs/TSC#1039 (comment)
benjamingr commentedon Mar 5, 2022
Great I didn't know that! Then just ci and the resume-ci label
mhdawson commentedon Mar 10, 2022
@Trott I'm wondering how we would do that in general. Mapping tests to which files they might be affected by is not obvious to me.
The resume ci label seems useful to me as well, I share the concern over making sure we look at failures before resuming, but that might be handled by documenting or surfacing existing documentation that sets the expectations. I'd personally be fine with an expectation that you look at failures make sure there are open issues for them before resuming.
mhdawson commentedon Mar 23, 2022
Discussed in previous TSC meeting, see https://github.com/nodejs/TSC/blob/main/meetings/2022-03-10.md#nodejsnode and in #42125
Removing from TSC agenda as we think questions have been answered.
github-actions commentedon Jun 27, 2026
This issue has been marked as stale due to 210 days of inactivity.
It will be automatically closed in 30 days if no further activity occurs. If this is still relevant, please leave a comment or update it to keep it open.
github-actions commentedon Jul 28, 2026
This issue has been automatically closed after 30 days of inactivity following its stale status (no activity for a total of 120 days).
If this is still relevant, feel free to reopen it or leave a comment with additional details so we can continue the discussion.