-
Notifications
You must be signed in to change notification settings - Fork 30k
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
build: test Python 3.7 on Travis CI #29451
Conversation
cfe37bd
to
0d60361
Compare
Requires #25878 or py3 will fail at configure, so I cherry-picked it in. Took me a bit to get pyenv working locally on Ubuntu, but while waiting for Travis, I'm in process of reproducing the buildsteps travis should do. Note, for the Once I've done this, current state is: Compile V8
Compile Node.js
Test JS Suites
Test C++ Suites
At this point, I think futher progress is blocked until #29340 completes and lands. |
As noted in #29340, both the tools and deps version of that file need to be modified. |
Thanks, I'll take another shot at this tomorrow. |
567ca38
to
b5fd477
Compare
I added the async change to the deps version of code_generator.py |
With the fixes merged in, I can now build and test locally without errors, which is unfortunate, because now I can't troubleshoot locally. Travis error is:
I'm trying to directly run the failing node-gyp command, and interestingly, I see that it uses python2... So, I removed /usr/bin/python2, and see something more interesting:
This sparked a theory that Travis doesn't have python2 installed when
|
7d70614
to
014f468
Compare
cp tools/gyp/pylib/gyp/input.py deps/npm/node_modules/node-gyp/gyp/pylib/gyp/ |
https://travis-ci.com/nodejs/node/jobs/232041903#L1008
|
That's interesting, I'll take a look Monday unless @bnoordhuis gets to it first. |
I guess the deps changes should be a separate commit from the other ones so that it can be re-cherry-picked onto things if the deps get updated but still don't have these changes? |
.travis.yml
Outdated
@@ -6,9 +6,15 @@ x-ccache-setup-steps: &ccache-setup-steps | |||
|
|||
os: linux | |||
language: cpp | |||
# Currently this file can only support one PYTHON_VERSION. | |||
# To experiment with Python 3, comment out Python 2.7 and uncomment one of the Python 3 versions. |
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.
IIUC, with this change, Python 2.7 is already commented out, so this comment needs to be updated?
@cclauss Should the work-in-progress label be removed at this point? Or is it still work-in-progress? |
Still WIP, it isn't green, and has local copies of changes that are pending in other PRs, or other repos (v8, node-gyp, npm). Its very useful to show what problems will remain even after the other in-progress work completes. |
This is still a WIP. It is designed to pass the Travis CI tests on Python 3 but it still fails. |
Does anyone know how to resolve the last failing test? |
2ba9e62
to
b535e9c
Compare
b535e9c
to
23ce029
Compare
@bnoordhuis any ideas? |
23ce029
to
5a6e21d
Compare
I looked into it yesterday but it wasn't immediately obvious to me what went wrong. Time for some printf-style debugging, I suppose. Christian, can you try this? diff --git a/test/addons/dlopen-ping-pong/binding.cc b/test/addons/dlopen-ping-pong/binding.cc
index 6a6c297b52..02ade757c0 100644
--- a/test/addons/dlopen-ping-pong/binding.cc
+++ b/test/addons/dlopen-ping-pong/binding.cc
@@ -26,6 +26,7 @@ static ping ping_func;
void LoadLibrary(const FunctionCallbackInfo<Value>& args) {
const String::Utf8Value filename(args.GetIsolate(), args[0]);
void* handle = dlopen(*filename, RTLD_LAZY);
+ if (handle == nullptr) fprintf(stderr, "dlopen(%s): %s\n", *filename, dlerror());
assert(handle != nullptr);
ping_func = reinterpret_cast<ping>(dlsym(handle, "dlopen_ping"));
assert(ping_func != nullptr); (I tried to push it to your branch but you have collaborator edits disabled, it seems?) |
5a6e21d
to
9ab7107
Compare
253137b
to
2ff431b
Compare
Rebased onto master now that #29885 has landed. |
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.
Copying my review comments from #29985 (duplicate?).
I'll clean up the comments and up the python version, but would like to see travis pass. It seems really, really slow... is ccache not shared? Something else? Maybe ccache is reset when .travis.yml changes? Anyhow, I'll give it overnight to run some more before touching the branch again. |
https://github.com/nodejs/node/compare/253137b5502a6732eac9f0f899c6577c04338023..2ff431b7a08fab7938a73fb6f10ed76f151035aa#diff-42f385dff7890b3c213d9699bcc350cc suggests |
@nodejs/python @nodejs/node-gyp PTAL |
smartos out of memory:
Windows is an instance of #30011 Resuming the build. |
@nodejs/platform-smartos FYI - #29451 (comment) I don't know how frequent that is, and hope it will be ephemral, but just to let you know. |
Request Python 3 with pyenv and ensure that python3 is used by Makefile to run Python scripts. PR-URL: #29451 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
Landed in d594a9a 🎉 |
Request Python 3 with pyenv and ensure that python3 is used by Makefile to run Python scripts. PR-URL: #29451 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
Request Python 3 with pyenv and ensure that python3 is used by Makefile to run Python scripts. PR-URL: #29451 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
Request Python 3 with pyenv and ensure that python3 is used by Makefile to run Python scripts. PR-URL: #29451 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
Request Python 3 with pyenv and ensure that python3 is used by Makefile to run Python scripts. PR-URL: #29451 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes