-
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
build: PYTHON ?= python3 #25759
build: PYTHON ?= python3 #25759
Conversation
There many thing need to fix in |
I don't think we are there yet. If we have to switch to Python 3 here, we need to get the word out and explicitly mention this in our requirements to build. |
84aafbb
to
243eff0
Compare
338 days until Python 2 end of life... Perhaps we need to get the word out. #25766 |
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 don't think we are there yet. If we have to switch to Python 3 here, we need to get the word out and explicitly mention this in our requirements to build.
Is that an issue, assuming that we still have Python 2 builds in our CI?
I’m wondering whether this should be labelled semver-major
, though.
As of now, only one of our build machines is using Python 3 (that too kind of experimental, @refack please correct me if I am wrong here), rest of them are still using Python 2 and most of them don't have Python 3.
I also thought the same. If we do this as part of a major release, people might not miss to notice this important change. |
As recommended at nodejs#25759 (comment) * Python 2.6 end of life statement in 2013: https://www.python.org/dev/peps/pep-0361/#release-lifespan * Python 2.7 end of life statement in 2019: https://www.python.org/dev/peps/pep-0373/#update * Python 3.4 reaches it end of life in < 50 days so it should not be a target: https://devguide.python.org/#branchstatus
I understand that we are racing against the clock here, but we wouldn't want to break people's build infrastructure without proper notice. I believe our first step would be to make all the Python modules compatible with Python 3 and then have all our linters use both Python 2 and Python 3. Once we achieve that we can think about totally dropping Python 2 support, I believe. |
Currently the code is not fully python3 compatible yet. |
@gengjiawen I have a PR now to fix them #25767. |
Actually, @cclauss, can you update the commit message to start with |
FYI, Line 1 in 4814987
with Lines 16 to 17 in 4814987
and Lines 1658 to 1662 in 4814987
So this change is mostly symbolic... (it only affects vanilla repositories, when using a target that does not depend on all or $(NODE_EXE) , or when called with python3 configure.py )
|
@refack But this change does effect Travis --> Jenkins automated builds because there is no config.mk in this repo and node/configure does not get run. Thus in the automated CI builds we get tools/cpp_lint.py complaining about Python 3 compatibility --> #25760 |
Yes, but AFAICT only for the lint jobs (they don't try to build, hence don't call |
flake8 is passing on both Py2 and Py3 and with #25771, cpp_lint.py should be in the same boat. Are there other linters in the build that rely on Python? |
I tested and |
Also we need to make windows ready for Python3. https://github.com/nodejs/node/blob/master/tools/msvs/find_python.cmd. |
As recommended at #25759 (comment) * Python 2.6 end of life statement in 2013: https://www.python.org/dev/peps/pep-0361/#release-lifespan * Python 2.7 end of life statement in 2019: https://www.python.org/dev/peps/pep-0373/#update * Python 3.4 reaches it end of life in < 50 days so it should not be a target: https://devguide.python.org/#branchstatus PR-URL: #25766 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Refs: #25789 |
Looks like this still needs support from the build WG? |
Blocked by nodejs/build#1674 |
Closing in favor of #28537 |
Blocked by nodejs/build#1674
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes