-
Notifications
You must be signed in to change notification settings - Fork 167
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
Install Python 3 everywhere in CI #2507
Comments
I do not have access rights for the link above... How many hosts are we talking about that only have legacy Python? |
It is a fair few of the host - interestingly the mac builds failed in that release build and they most certainty do have python3 installed. |
Python 2 died over a year ago (not even security updates) so it is a security exposure to keep those hosts online. Can you please paste some details on how Py3 on macOS is failing? |
|
Ah so thats because we call |
Yes. I think we just need to sync up to nodejs/node#35983 |
I think we have that commit. Your branch is synced up to Dec 29. |
I think the issue is the way the job is setup by directly calling
putting python infront causes it to find python2 not 3 |
The Makefile is using |
Building up the current state on our CI hosts:
Others:
|
Can the chart #2507 (comment) be updated to provide reviewers more confidence that we are ready to move forward with nodejs/node#36691 ? |
|
Nice work!! Looking at the chart above, Python >= 3.6 is now installed somewhere on all machines where test builds are done.
|
I've been going (slowly) through the various platforms we have and updating the table in #2507 (comment). The IBM platforms are done, as is SmartOS and the centos7-arm64 hosts. Next on my list to look at are the Pi's, which at first glance appear to have Python 3 available but it looks like the jobs actually execute builds in docker containers which do not have Python 3 available. e.g. the docker file for Debian Stretch (9): https://github.com/nodejs/build/blob/master/ansible/roles/jenkins-worker/templates/armv7_stretch.Dockerfile.j2 I haven't started looking at the Linux x64 platforms yet -- I suspect some of the containers we're using there will also need updating to install Python 3 on them. |
The deadsnakes PPA would enable the installation of Python 3.9.2 or other versions. Another way to go is to use |
|
According to the chart above, perhaps all that test needs is |
Ugh. Our three |
I can try to help with the RPi configuration. How do I convert the template to a real Dockerfile? |
The dockerfiles get run on the Pi's themselves, they are armv7 native so hard to replicate outside of that. If you log in to one of the Pi's (a 3 would be good) and |
Looks like we need to update Python on test-rackspace-ubuntu1604-x64-1 (or, uh, move to a more recent Ubuntu, see #2625). https://ci.nodejs.org/job/node-test-commit-custom-suites-freestyle/20329/console
|
I think someone needs to update the config of |
Oh, that was easy, then. I've updated the label to be 1804 instead of 1604. (I wonder if I should have blanked it out so it always gets a default value?) |
Ah sorry, I did change the default and the config for the main |
This also changes the base image to balenalib/rpi-raspbian:stretch. The old one is no longer maintained. Refs: #2507
This is a requirement for nodejs/node#36691
There are a lot of hosts that only have Python 2 installed.
For example, in
ci-release
, only the Windows builds work if we remove Python 2 support: https://ci-release.nodejs.org/job/iojs+release/6555/The text was updated successfully, but these errors were encountered: