Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upbuild: add build targets for easier build/clean #20905
Conversation
nodejs-github-bot
added
the
build
label
May 23, 2018
richardlau
reviewed
May 23, 2018
| @echo "Please use benchmark/run.js or benchmark/compare.js to run the benchmarks." | ||
|
|
||
| # Build required addons for benchmark before running it. | ||
| .PHONY: bench-addons | ||
| bench-addons: benchmark/misc/function_call/build/Release/binding.node |
This comment has been minimized.
This comment has been minimized.
richardlau
May 23, 2018
•
Member
This was previously the bench-misc target, which was removed along with most of the bench-* targets in #18150.
Ref: #17053
cc @joyeecheung @nodejs/benchmarking
Edit: Sorry I can't read properly. At least this late at night.
This comment has been minimized.
This comment has been minimized.
joyeecheung
May 25, 2018
Member
The previous plan was to invoke node-gyp inside the benchmark, but I couldn't make the child process arguments work as intended.
This comment has been minimized.
This comment has been minimized.
kenny-y
May 28, 2018
•
Author
Contributor
Thanks for the info... so what's the preferred way? Are we taking this approach to do it in Makefile, or using node-gyp to make it be able to run under benchmark dir? I'm neutral to either one.
BTW. I do have something to add to the benchmark dir so I kicked off with the refactoring of this Makefile -- otherwise it'll be too annoying to build/clean a number of addons in benchmark
This comment has been minimized.
This comment has been minimized.
joyeecheung
May 28, 2018
Member
I think it'd be better if the building can be done inside the benchmark script, since that will be run on Windows, otherwise one will need to update vcbuild.bat for Windows to have this.
This comment has been minimized.
This comment has been minimized.
|
Personally, I'd prefer we didn't abbreviate "benchmark" to "bench" in the target names, although I know this PR didn't originate that. Just, you know, if someone wanted to change it in another PR, that would be A-OK by me. |
This comment has been minimized.
This comment has been minimized.
|
The purpose of this PR is that (a) make the current mechanism better, e.g no longer need to key in |
BridgeAR
reviewed
May 24, 2018
|
No strong opinion. Code LGTM |
This comment has been minimized.
This comment has been minimized.
|
@nodejs/build PTAL |
1 similar comment
This comment has been minimized.
This comment has been minimized.
|
@nodejs/build PTAL |
This comment has been minimized.
This comment has been minimized.
|
ping @nodejs/build-files |
addaleax
approved these changes
Jul 10, 2018
|
I think I’d prefer just landing this as opposed to letting it stall. |
This comment has been minimized.
This comment has been minimized.
|
Oops, I guess this PR is outdated (the dir of the target was moved elsewhere) and I will rebase it on top of most recent changes. |
kenny-y
force-pushed the
kenny-y:benchmark-addons-build
branch
3 times, most recently
from
a9992f3
to
395a6a7
Jul 13, 2018
This comment has been minimized.
This comment has been minimized.
|
Push the same change again to trigger Travis again to see if it goes green this time (1 out 2 had failed: not ok 2312 sequential/test-inspector-port-zero-cluster) |
Trott
reviewed
Jul 13, 2018
| @echo "Please use benchmark/run.js or benchmark/compare.js to run the benchmarks." | ||
|
|
||
| .PHONY: bench | ||
| bench: | ||
| bench: bench-addons |
This comment has been minimized.
This comment has been minimized.
Trott
Jul 13, 2018
Member
Not a blocking objection, but:
Currently, all make bench does is print a message telling people to run the tests manually instead, right?
This will build the addons and then tell the person to run their benchmarks manually?
Would it make more sense to not do that and just have people know they need to run make bench-addons if they are running one of the two benchmarks that require it? No one runs make bench anyway unless they stumble upon it. Compiling stuff and then printing a message saying, basically, "don't use this command" seems like something that could be improved.
Trott
reviewed
Jul 13, 2018
| @echo "Please use benchmark/run.js or benchmark/compare.js to run the benchmarks." | ||
|
|
||
| # Build required addons for benchmark before running it. | ||
| .PHONY: bench-addons | ||
| bench-addons: benchmark/napi/function_call/build/Release/binding.node \ |
This comment has been minimized.
This comment has been minimized.
Trott
Jul 13, 2018
Member
Should this be bench-addons-build instead, similar to (for example) lint-md-build? bench-addons makes it sound like it runs addons benchmarks. This just builds them but does not run them.
This comment has been minimized.
This comment has been minimized.
kenny-y
force-pushed the
kenny-y:benchmark-addons-build
branch
from
395a6a7
to
d2123e9
Jul 16, 2018
Trott
approved these changes
Jul 16, 2018
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
CI resumed as: https://ci.nodejs.org/job/node-test-pull-request/15954/ |
This comment has been minimized.
This comment has been minimized.
|
Landed in 266c1f4. |
kenny-y commentedMay 23, 2018
Adding new build targets: 'bench-addons' & 'bench-addons-clean'.
With these two, it'll be easier to manage the dependencies among
targets and easier to build/clean the addons which are being
used in benchmarking.
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes