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

Request: run full CI via label or comment #234

Closed
cjihrig opened this issue May 17, 2019 · 4 comments
Closed

Request: run full CI via label or comment #234

cjihrig opened this issue May 17, 2019 · 4 comments

Comments

@cjihrig
Copy link

cjihrig commented May 17, 2019

It looks like this has come up in the past (#82). I'm not 100% clear on what the resolution was, but it would be great if collaborators could add a label/comment to a PR to trigger a full CI run in Jenkins. I have a preference toward a label over a comment because a comment generates an email/notification, and issue labeling is restricted to trusted collaborators. This would imply the "Certify Safe" checkbox in Jenkins.

I think the following workflow would allow collaborators to avoid Jenkins completely in a lot of cases:

  • A new PR is opened.
  • Collaborator reviews the PR to certify its safety.
  • Collaborator adds a specific label to the PR.
  • Bot notices the label, removes the label, and starts a full CI run.
  • Bot posts a comment to the PR containing the CI run URL.
@phillipj
Copy link
Member

FWIW even though I'm not an active collaborator in core these days, I think this is a very good idea!

Kicking off full CI has certainly not been blocked technically, but rather the manual action of checking off the good old Certify Safe checkbox. In my eyes, a label would in practise have the exact same purpose; a very explicit signal that the changes doesn't look harmful and is ready to go.

Any thoughts what would be the next step to implementing this? Would it have to be discussed by TSC?

@cjihrig
Copy link
Author

cjihrig commented May 22, 2019

If it's not a technical issue, I think it should be fine to just ping @nodejs/tsc and @nodejs/build to see if there are any objections. If no one objects, I think it's fine to move forward.

@sam-github
Copy link

I would love to be able to trigger CI via github's UI, I am fine with a label or with a comment @nodebot full-ci please

@mmarchini
Copy link
Contributor

I have a (unpublished) POC Firefox extension which adds a button to the PR to start CI. This would probably be a better solution though. I'll try to work on this, the extension works and the code should be mostly the same here.

mmarchini added a commit to mmarchini/node that referenced this issue Jul 31, 2020
Add an Action that will find every PR with the `request-ci` label and
will start a Jenkins CI for each of these Pull Requests. The scheduler
event is used to circumvent GitHub Actions limitations on Pull Requests
from forks (where secrets are not accessible and the GITHUB_TOKEN is
read-only).

If the Action fails to start a CI, it will add a `request-ci-failed`
label and will leave a comment with the error message from NCU.

Fixes: nodejs/github-bot#234
codebytere pushed a commit to nodejs/node that referenced this issue Aug 5, 2020
Add an Action that will find every PR with the `request-ci` label and
will start a Jenkins CI for each of these Pull Requests. The scheduler
event is used to circumvent GitHub Actions limitations on Pull Requests
from forks (where secrets are not accessible and the GITHUB_TOKEN is
read-only).

If the Action fails to start a CI, it will add a `request-ci-failed`
label and will leave a comment with the error message from NCU.

Fixes: nodejs/github-bot#234

PR-URL: #34089
Reviewed-By: Christian Clauss <cclauss@me.com>
addaleax pushed a commit to nodejs/node that referenced this issue Sep 22, 2020
Add an Action that will find every PR with the `request-ci` label and
will start a Jenkins CI for each of these Pull Requests. The scheduler
event is used to circumvent GitHub Actions limitations on Pull Requests
from forks (where secrets are not accessible and the GITHUB_TOKEN is
read-only).

If the Action fails to start a CI, it will add a `request-ci-failed`
label and will leave a comment with the error message from NCU.

Fixes: nodejs/github-bot#234

PR-URL: #34089
Reviewed-By: Christian Clauss <cclauss@me.com>
addaleax pushed a commit to nodejs/node that referenced this issue Sep 22, 2020
Add an Action that will find every PR with the `request-ci` label and
will start a Jenkins CI for each of these Pull Requests. The scheduler
event is used to circumvent GitHub Actions limitations on Pull Requests
from forks (where secrets are not accessible and the GITHUB_TOKEN is
read-only).

If the Action fails to start a CI, it will add a `request-ci-failed`
label and will leave a comment with the error message from NCU.

Fixes: nodejs/github-bot#234

PR-URL: #34089
Reviewed-By: Christian Clauss <cclauss@me.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants