GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — build: auto start Jenkins CI via PR labels by mmarchini · Pull Request #34089 · nodejs/node

Conversation

@mmarchini

@mmarchini mmarchini commented Jun 27, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

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.

Requirements to land

  • Create a Jenkins token for @nodejs-github-bot
  • Add JENKINS_USER and JENKINS_TOKEN secrets to this repository (or to the entire org, if we want this to work on forks such as quic and node-auto-test as well)
  • Land ncu-ci: command to start CI for PRs node-core-utils#445 and wait for the next NCU release
  • Test more extensively on node-auto-test before landing
  • Create request-ci and request-ci-failed labels in this repository
Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

bricss, himself65, and rexagod reacted with thumbs up emoji
All reactions
  • 👍 3 reactions
@mmarchini mmarchini added the blocked PRs that are blocked by other issues or PRs. label Jun 27, 2020
@nodejs-github-bot nodejs-github-bot added meta Issues and PRs related to the general management of the project. tools Issues and PRs related to the tools directory. labels Jun 27, 2020
mmarchini
mmarchini commented Jun 27, 2020
View reviewed changes
Comment thread .github/workflows/auto-start-ci.yml Outdated
Comment on lines 55 to 62

@mmarchini mmarchini Jun 27, 2020

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably should provide a way to set ncu configs via environment variables, so we don't have to worry about writing to disk here.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
mmarchini
mmarchini commented Jun 27, 2020
View reviewed changes
Comment thread .github/workflows/auto-start-ci.yml Outdated

@mmarchini mmarchini Jun 27, 2020

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're worried about the number of concurrent Jenkins jobs running, we could reduce this to 5 and increase the scheduler to 15-30 minutes.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mscdex

mscdex commented Jun 27, 2020

Copy link
Copy Markdown
Contributor

If we add something like this, shouldn't we just get rid of the "CERTIFY_SAFE" checkbox in CI then, since there is no way to make such a confirmation explicit when applying the new label to a PR?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mmarchini

mmarchini commented Jun 27, 2020

Copy link
Copy Markdown
Contributor Author

That's a good question. We could consider that adding the label means the collaborator is certifying that this PR is safe (same could be said about starting a CI though)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mmarchini

mmarchini commented Jun 27, 2020

Copy link
Copy Markdown
Contributor Author

We could also have two labels, but that seems unnecessary

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

himself65
himself65 reviewed Jun 28, 2020
View reviewed changes
Comment thread .github/workflows/auto-start-ci.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

@Trott

Trott commented Jun 28, 2020

Copy link
Copy Markdown
Member

@nodejs/build

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mmarchini

mmarchini commented Jun 28, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

Not sure who I should ping to get consensus on adding the secrets to the repo (or if I need to do it) and to create the labels. @nodejs/tsc maybe?

Also don't know who has access to the github-bot account to create a Jenkins token for it.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mmarchini mmarchini mentioned this pull request Jul 1, 2020
Request permission to create personal and Jenkins tokens for github-bot add Secrets to nodejs/reliability and nodejs/node nodejs/admin#523
Closed
This was referenced Jul 25, 2020
Increase privilege of github-bot on Jenkins nodejs/build#2394
Closed
Add @nodejs-github-bot to @nodejs/collaborators nodejs/admin#536
Closed
Node.js Technical Steering Committee (TSC) Meeting 2020-07-30 nodejs/TSC#896
Closed
cclauss
cclauss approved these changes Jul 30, 2020
View reviewed changes

@cclauss cclauss left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RSLGTM Impressive work!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mmarchini
mmarchini force-pushed the auto-start-ci-via-label branch from f1c9444 to a1121fa Compare July 30, 2020 05:41
@mmarchini mmarchini self-assigned this Jul 30, 2020
@mmarchini mmarchini removed the blocked PRs that are blocked by other issues or PRs. label Jul 30, 2020
@mmarchini

mmarchini commented Jul 30, 2020

Copy link
Copy Markdown
Contributor Author

Ok, figured out the github-bot bits, will create the tokens on the repository before landing it.

Removed the blocked label, but it would be good to have some more reviews (especially on the general approach), I intend to land on friday or saturday to give folks a bit more time to review. I also ask to let me land it since there are other tasks that need to be accomplished while landing (create labels, add secrets to the repo)

(I'd like to land this before the commit queue since both use a similar approach, but this action won't make changes to our main branch)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

phillipj
phillipj reviewed Jul 30, 2020
View reviewed changes
Comment thread .github/workflows/auto-start-ci.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

phillipj
phillipj approved these changes Jul 30, 2020
View reviewed changes

@phillipj phillipj left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really nice work 👍

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@phillipj phillipj mentioned this pull request Jul 30, 2020
bot no longer autostarts CI? nodejs/github-bot#235
Closed
@mmarchini
mmarchini force-pushed the auto-start-ci-via-label branch from a1121fa to 9a4ae9c Compare July 30, 2020 23:07
@mmarchini

mmarchini commented Jul 31, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

@nodejs/build @nodejs/tsc any other reviews/comments/suggestions/objections before I land this tomorrow? (I thought about pinging collaborators but that might be too much :) )

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mmarchini
build: auto start Jenkins CI via PR labels
84de5d9
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
@mmarchini
mmarchini force-pushed the auto-start-ci-via-label branch from 9a4ae9c to 84de5d9 Compare July 31, 2020 22:24
@mmarchini

mmarchini commented Jul 31, 2020

Copy link
Copy Markdown
Contributor Author

Labels created:
image

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

mmarchini added a commit that referenced this pull request Jul 31, 2020
@mmarchini
build: auto start Jenkins CI via PR labels
6cab3b0
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 <[email protected]>
@mmarchini

mmarchini commented Jul 31, 2020

Copy link
Copy Markdown
Contributor Author

Landed in 6cab3b0

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mmarchini mmarchini closed this Jul 31, 2020
codebytere pushed a commit that referenced this pull request Aug 5, 2020
@mmarchini @codebytere
build: auto start Jenkins CI via PR labels
70cf3cb
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 <[email protected]>
@codebytere codebytere mentioned this pull request Aug 10, 2020
v14.8.0 proposal #34704
Merged
@lundibundi lundibundi mentioned this pull request Aug 23, 2020
PSA: it's now possible to start Jenkins CI by adding request-ci label to PRs #34594
Closed
addaleax pushed a commit that referenced this pull request Sep 22, 2020
@mmarchini @addaleax
build: auto start Jenkins CI via PR labels
ae7c638
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 <[email protected]>
addaleax pushed a commit that referenced this pull request Sep 22, 2020
@mmarchini @addaleax
build: auto start Jenkins CI via PR labels
e51b268
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 <[email protected]>
@codebytere codebytere mentioned this pull request Sep 28, 2020
v12.19.0 proposal #35401
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@himself65 himself65 himself65 left review comments
@cclauss cclauss cclauss approved these changes
+1 more reviewer
@phillipj phillipj phillipj approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@mmarchini mmarchini

Labels

meta Issues and PRs related to the general management of the project. tools Issues and PRs related to the tools directory.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

7 participants

@mmarchini @mscdex @Trott @phillipj @cclauss @himself65 @nodejs-github-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.