Description
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:
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):
- Add Debian 10 (Buster) into the CI. Including Docker files for the Pi's. Switch testing for Node.js 16 to these.
- 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