Skip to content

Debian versions and Python 3 (Node.js 16 and later) #2600

Closed
@richardlau

Description

@richardlau

Currently in the CI we have Debian 8 (Jessie) and 9 (Stretch) on x64 and arm (through Docker templates armv7_jessie.Dockerfile.j2 and armv7_stretch.Dockerfile.j2). Debian 8 is only used for testing Node.js 10 (End-of-Life next month) and 12:

[ /debian8/, anyType, gte(13) ],

We're trying to get Python 3 installed on the CI across the platforms that we build/test Node.js 16 onwards, #2507, to unblock nodejs/node#37764. There's also nodejs/node#36691 which removes support for building with Python 2 and Python 3.5. This will be an issue for Stretch as the latest version of Python 3 from the default repositories in 3.5.3: https://packages.debian.org/stretch/python3

The Pi's are actually running Debian 10 (Buster) and have Python 3.7.3 available/installed (https://packages.debian.org/buster/python3). However tests are executed in the aforementioned Docker containers (Stretch for Node.js 12 and later).

I think our options are (feel free to suggest anything I might have overlooked):

  1. Add Debian 10 (Buster) into the CI. Including Docker files for the Pi's. Switch testing for Node.js 16 to these.
  2. Compile a later version of Python 3 (in ansible either directly or via pyenv) for Debian Stretch.

Debian 8 actually went out of LTS in June 2020 (https://www.debian.org/releases/jessie/) so maybe we could remove Debian 8 from our CI to free up resources for Debian 10? Going to Debian 10 would also give us gcc/g++ 8.3.0 (https://packages.debian.org/buster/gcc) which is what we've raised the minimum supported gcc/g++ level to (Debian 9 is on gcc/g++ 6.3.0, https://packages.debian.org/stretch/gcc) so I'd lean towards adding Debian 10.

Thoughts?

cc @nodejs/build-infra

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions