nodejs / node-core-utils

CLI tools for Node.js Core collaborators
https://nodejs.github.io/node-core-utils/
MIT License
234 stars 106 forks source link

git-node: `git node bisect` #230

Open joyeecheung opened 6 years ago

joyeecheung commented 6 years ago

https://twitter.com/targos89/status/982158028878196736

Outline:

joyeecheung commented 6 years ago

cc @targos

joyeecheung commented 6 years ago

Also we can be more generic about the mirror: e.g. allow other variants like https://nodejs.org/download/v8-canary/ and support mirrors like https://cnpmjs.org/mirrors/node-nightly/ (this one is much faster if you are in China). Probably a config with ncu-config would be enough.

joyeecheung commented 6 years ago

Also we may be more flexible about the command being run...for instance, if the test case must involve an addon, it should allow the user to specify the --node-dir or run whatever they need (e.g. some configuration command run during preinstall) to get the test case ready. Maybe provide an environment variable containing the path to the distribution to the command supplied by the user and let them script the test would be enough.

mmarchini commented 6 years ago

This would be useful to help find which V8 commit broke llnode (I just did a "manual bisect" with nvm and v8-canary nightlies while trying to find what broke llnode on V8 6.4, and it was really painful 😞).

I can work on it this weekend. Any suggestions on how to set the mirror and how to have a custom command? Maybe --mirror=nightly|v8-canary|url (nightly by default) and --script=/path/to/script.js | --command=[custom command]?

joyeecheung commented 6 years ago

@mmarchini --mirror/--script/--command SGTM. It would be nice to support them (at least mirror, probably makes less sense for --script/--command) in ncu-config so there is no need to type those things out every time the tool is used

mmarchini commented 5 years ago

It would also be interesting to bisect Node.js versions:

git node bisect --from v7.0.0 --to v8.0.0 /path/to/test.js

watson commented 5 years ago

In case anybody is interested, I've created this script that essentially does the same: https://gist.github.com/watson/493f359315e7542ddcad37b3408b9f5e

github-actions[bot] commented 3 years ago

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.

codebytere commented 3 years ago

We could probably copy https://chromium.googlesource.com/chromium/src/+/master/tools/bisect-builds.py to some extent and make it a nice interactive flow

github-actions[bot] commented 3 years ago

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.

github-actions[bot] commented 3 years ago

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.