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 — tools: add update script for googletest by tniessen · Pull Request #47482 · nodejs/node

Conversation

@tniessen

@tniessen tniessen commented Apr 8, 2023

Copy link
Copy Markdown
Member

I haven't done one of these before, so please review carefully.

GoogleTest follows the Abseil Live at Head philosophy, and rarely creates tags or GitHub releases, so instead, follow Google's recommendation and update to the upstream HEAD every once in a while.

The tricky bit is properly updating googletest.gyp, and this script might fail doing so in the future.

Refs: nodejs/security-wg#828

Sorry, something went wrong.

Uh oh!

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

All reactions
@tniessen
tniessen requested a review from marco-ippolito April 8, 2023 16:15
@nodejs-github-bot

nodejs-github-bot commented Apr 8, 2023

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/actions
All reactions

Sorry, something went wrong.

Uh oh!

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

@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 Apr 8, 2023
@marco-ippolito

marco-ippolito commented Apr 8, 2023

Copy link
Copy Markdown
Member

Im not sure about updating the gyp file, its too complex to automate it we should probably do it manually

All reactions

Sorry, something went wrong.

Uh oh!

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

@tniessen

tniessen commented Apr 8, 2023

Copy link
Copy Markdown
Member Author

Im not sure about updating the gyp file, its too complex to automate it we should probably do it manually

I tend to agree with that in general. However, in this case, if the script does make a mistake in producing the gyp file, we still have our regular review process as well as Github Actions and Jenkins CI as safeguards, and we can still fix the gyp file manually if necessary. A mistake that is not caught by any of these safeguards could just as well be the result of manual work.

In other words, we can take the generated gyp file as a suggestion, which hopefully will be correct in most cases, thus usually removing the need to update it manually. When we or our automated tests notice a problem with the suggested change, we can still resort to updating it manually.

I'll try and see what happens with previous versions of googletest (i.e., if the script would have made mistakes in the past). That being said, I'd be happy to switch to a more reliable approach if we can come up with one.

All reactions

Sorry, something went wrong.

Uh oh!

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

anonrig
anonrig approved these changes Apr 9, 2023
View reviewed changes

@anonrig anonrig 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.

I like this approach. Recently, I read about a similar blog post about how Github updates its Ruby version every week by following main branch. We can always revert back or interfere with the upgrade process and I believe this would be a valuable lesson/experience we could benefit as the whole Node.js project.

Sorry, something went wrong.

Uh oh!

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

marco-ippolito reacted with thumbs up emoji tniessen reacted with heart emoji
All reactions
  • 👍 1 reaction
  • ❤️ 1 reaction
marco-ippolito
marco-ippolito approved these changes Apr 9, 2023
View reviewed changes

@marco-ippolito marco-ippolito 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.

LGTM, lets try with this approach if we are happy we can extend it to zlib and also try to automate some other dependencies gyp

Sorry, something went wrong.

Uh oh!

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

All reactions
@marco-ippolito marco-ippolito mentioned this pull request Apr 12, 2023
tools: automate uvwasi dependency update #47509
Merged
@tniessen
tniessen marked this pull request as ready for review April 13, 2023 22:27
@marco-ippolito
marco-ippolito force-pushed the deps-googletest-updater branch from 4782ef4 to 9304143 Compare April 17, 2023 09:29
@tniessen
tniessen force-pushed the deps-googletest-updater branch from 9304143 to 4c1af7b Compare April 18, 2023 15:27
@tniessen tniessen added the author ready PRs with CI started, the required approvals, and no outstanding review comments. label Apr 18, 2023
@tniessen
tniessen force-pushed the deps-googletest-updater branch from 4c1af7b to a31c52e Compare April 18, 2023 15:28
@tniessen

tniessen commented Apr 18, 2023

Copy link
Copy Markdown
Member Author

Appeased lint-sh. PTAL @marco-ippolito.

marco-ippolito reacted with eyes emoji
All reactions
  • 👀 1 reaction

Sorry, something went wrong.

Uh oh!

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

marco-ippolito
marco-ippolito reviewed Apr 18, 2023
View reviewed changes
Comment thread tools/dep_updaters/update-googletest.sh Resolved

Uh oh!

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

RafaelGSS
RafaelGSS approved these changes Apr 18, 2023
View reviewed changes
@marco-ippolito marco-ippolito mentioned this pull request Apr 18, 2023
tools: automate zlib update #47417
Merged
@tniessen
tniessen force-pushed the deps-googletest-updater branch from a31c52e to f2eae6b Compare April 19, 2023 10:14
@tniessen

tniessen commented Apr 19, 2023

Copy link
Copy Markdown
Member Author

Rebased again and updated for #47591.

marco-ippolito reacted with heart emoji
All reactions
  • ❤️ 1 reaction

Sorry, something went wrong.

Uh oh!

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

@tniessen
tools: add update script for googletest
635b183
GoogleTest follows the Abseil Live at Head philosophy, and rarely
creates tags or GitHub releases, so instead, follow Google's
recommendation and update to the upstream HEAD every once in a while.

The tricky bit is properly updating googletest.gyp, and this script
might fail doing so in the future.

Refs: nodejs/security-wg#828
@tniessen
tniessen force-pushed the deps-googletest-updater branch from f2eae6b to 635b183 Compare April 19, 2023 11:41
@tniessen

tniessen commented Apr 19, 2023

Copy link
Copy Markdown
Member Author

@marco-ippolito Is my understanding correct that the GitHub action will keep updating the same PR instead of opening new ones if a new update is found before the PR is merged? That would be great to reduce noise in this case, if we could just keep the PR open regardless of how often the action runs.

All reactions

Sorry, something went wrong.

Uh oh!

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

@marco-ippolito

marco-ippolito commented Apr 19, 2023

Copy link
Copy Markdown
Member

if there is a pr for 1.0.1 and the version1.0.2 is released, another pr will be created. if the latest is the 1.0.1 pr it will not create another one for every run. I dont think it doesnt happen very often but it would be great to update or close the PR for the previous version.

All reactions

Sorry, something went wrong.

Uh oh!

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

@richardlau

richardlau commented Apr 19, 2023

Copy link
Copy Markdown
Member

if there is a pr for 1.0.1 and the version1.0.2 is released, another pr will be created. if the latest is the 1.0.1 pr it will not create another one for every run. I dont think it doesnt happen very often but it would be great to update or close the PR for the previous version.

According to https://github.com/gr2m/create-or-update-pull-request-action#how-it-works it should update the existing PR (more specifically, it pushes to the same branch as the previously opened PR for the dependency). I've seen this happen on some of the Undici PRs (e.g. #46502).

All reactions

Sorry, something went wrong.

Uh oh!

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

@marco-ippolito

marco-ippolito commented Apr 19, 2023 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Member

According to https://github.com/gr2m/create-or-update-pull-request-action#how-it-works it should update the existing PR (more specifically, it pushes to the same branch as the previously opened PR for the dependency). I've seen this happen on some of the Undici PRs (e.g. #46502).

Oh that's great then we are good on this

All reactions

Sorry, something went wrong.

Uh oh!

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

@tniessen

tniessen commented Apr 19, 2023

Copy link
Copy Markdown
Member Author

I like that not creating additional PRs reduces notification noise, but it unfortunately seems to unnecessarily keep old commits and also doesn't update the PR title or description.

All reactions

Sorry, something went wrong.

Uh oh!

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

@richardlau

richardlau commented Apr 19, 2023

Copy link
Copy Markdown
Member

I like that not creating additional PRs reduces notification noise, but it unfortunately seems to unnecessarily keep old commits and also doesn't update the PR title or description.

Updating the title/body can be controlled by the update-pull-request-title-and-body action parameter.

All reactions

Sorry, something went wrong.

Uh oh!

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

@tniessen tniessen mentioned this pull request Apr 19, 2023
tools: keep PR titles/description up-to-date #47621
Merged
@tniessen

tniessen commented Apr 19, 2023

Copy link
Copy Markdown
Member Author

Thanks, I saw that in the docs right after I left the previous comment and opened #47621.

Regardless, this PR needs to be re-approved after the last force-push :)

All reactions

Sorry, something went wrong.

Uh oh!

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

marco-ippolito
marco-ippolito approved these changes Apr 19, 2023
View reviewed changes
@tniessen tniessen mentioned this pull request Apr 19, 2023
Automate updates of all dependencies nodejs/security-wg#828
Closed
23 tasks done
@tniessen tniessen added the commit-queue PRs queued for automated landing through the Commit Queue. label Apr 19, 2023
@nodejs-github-bot nodejs-github-bot removed the commit-queue PRs queued for automated landing through the Commit Queue. label Apr 19, 2023
@nodejs-github-bot
nodejs-github-bot merged commit 4956271 into nodejs:main Apr 19, 2023
@nodejs-github-bot

nodejs-github-bot commented Apr 19, 2023

Copy link
Copy Markdown
Collaborator

Landed in 4956271

All reactions

Sorry, something went wrong.

Uh oh!

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

@tniessen tniessen mentioned this pull request Apr 19, 2023
deps: update googletest to 9b12f74 #47622
Closed
targos pushed a commit that referenced this pull request May 2, 2023
@tniessen @targos
tools: add update script for googletest
e3f4ff4
GoogleTest follows the Abseil Live at Head philosophy, and rarely
creates tags or GitHub releases, so instead, follow Google's
recommendation and update to the upstream HEAD every once in a while.

The tricky bit is properly updating googletest.gyp, and this script
might fail doing so in the future.

Refs: nodejs/security-wg#828
PR-URL: #47482
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
@marco-ippolito marco-ippolito mentioned this pull request May 2, 2023
Dependency update automation improvements nodejs/security-wg#973
Closed
7 of 9 tasks
@targos targos mentioned this pull request May 2, 2023
v20.1.0 release proposal #47820
Merged
danielleadams pushed a commit that referenced this pull request Jul 6, 2023
@tniessen @danielleadams
tools: add update script for googletest
54b4fc2
GoogleTest follows the Abseil Live at Head philosophy, and rarely
creates tags or GitHub releases, so instead, follow Google's
recommendation and update to the upstream HEAD every once in a while.

The tricky bit is properly updating googletest.gyp, and this script
might fail doing so in the future.

Refs: nodejs/security-wg#828
PR-URL: #47482
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
MoLow pushed a commit to MoLow/node that referenced this pull request Jul 6, 2023
@tniessen @MoLow
tools: add update script for googletest
f6955a6
GoogleTest follows the Abseil Live at Head philosophy, and rarely
creates tags or GitHub releases, so instead, follow Google's
recommendation and update to the upstream HEAD every once in a while.

The tricky bit is properly updating googletest.gyp, and this script
might fail doing so in the future.

Refs: nodejs/security-wg#828
PR-URL: nodejs#47482
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
@danielleadams danielleadams mentioned this pull request Jul 10, 2023
v18.17.0 release proposal #48694
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@anonrig anonrig anonrig approved these changes
@RafaelGSS RafaelGSS RafaelGSS approved these changes
@marco-ippolito marco-ippolito marco-ippolito approved these changes
+1 more reviewer
@ankit-gautam23 ankit-gautam23 ankit-gautam23 left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

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

Assignees

No one assigned

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. 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

@tniessen @nodejs-github-bot @marco-ippolito @richardlau @anonrig @RafaelGSS @ankit-gautam23
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.