-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
deps,v8: link with atomic
for platforms lacking CAS
#23286
Conversation
Major V8 updates are usually API/ABI incompatible with previous versions. This commit adapts NODE_MODULE_VERSION for V8 7.1. Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
until 81a3c699d6eef936452ac3d10c7c59a2c1e38c0c
until 4274d2f1905b5e4c3cf613635a0db79fb99a9409 missing: 408896a8b41751fea92e482c5eb4b858e7ffe68d
enable v8_enable_embedded_builtins reorder conditions proccessing for `run_mksnapshot`
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 (apart from the Makefile change)
@@ -481,7 +481,7 @@ build-ci: | |||
# - node-test-commit-linux-coverage: where the build and the tests need | |||
# to be instrumented, see `coverage`. | |||
run-ci: build-ci | |||
$(MAKE) test-ci | |||
$(MAKE) test-ci -j1 |
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.
Is this WIP?
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.
Yes, and no. for the canary branch I float this as 6e24dcc
It's either this or #23257. One of them will need to land upstream, since now we see #22006 on a lot of platforms (make test-ci
rebuilds a few files and relinks the node binary, in parallel to the script that builds the addons, so it's a race to the binary)
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.
It's either this or #23257.
I’m not sure I follow … that PR landed, right?
I don’t think -j1
is something we want in CI…
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’m not sure I follow … that PR landed, right?
#23257 was a revert of 5d8373a, because there was a bug on macOS.
IMHO running just the make
part of test-ci
with -j1
is not that bad. Most of the steps have parallelism built in
Lines 457 to 467 in 2ba19ff
test-ci: | clear-stalled build-addons build-addons-napi doc-only | |
out/Release/cctest --gtest_output=tap:cctest.tap | |
$(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \ | |
--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \ | |
$(TEST_CI_ARGS) $(CI_JS_SUITES) $(CI_NATIVE_SUITES) $(CI_DOC) | |
@echo "Clean up any leftover processes, error if found." | |
ps awwx | grep Release/node | grep -v grep | cat | |
@PS_OUT=`ps awwx | grep Release/node | grep -v grep | awk '{print $$1}'`; \ | |
if [ "$${PS_OUT}" ]; then \ | |
echo $${PS_OUT} | xargs kill -9; exit 1; \ | |
fi |
For build-addons
&& build-addons-napi
you added the script that does multi-proc. doc-only
had it for a long time. and the test uses $JOBS
for parallelism level...
deps/v8/gypfiles/v8.gyp
Outdated
@@ -361,6 +361,18 @@ | |||
'../src/builtins/builtins-intl-gen.cc', | |||
], | |||
}], | |||
# Platforms that don't have CAS support need to link atomic library |
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 realize this is copied from the upstream comment, but it might help to spell out CAS?
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.
Ack
I think some of the fails are real integration bugs:
|
They're unrelated to this change, I think. Maybe a temporary bug in V8. |
Fixes: nodejs/node-v8#81
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes