clairvoyance
clairvoyance copied to clipboard
[CD] Make Python and Node versions in a single file
Currently it's a slight mess:
-
poetry.lock:24
:python-versions = ">=3.6"
-
pyproject.toml:40
:python = ">=3.8,<4.0"
-
dockerfile:2
:FROM python:3.10-alpine as python-base
-
tests.yml
:[python-versions = ">=3.6](python-version: '3.10')
-
cd.yml
: skipped, so kind of random, I guess (If the .python-version file doesn't exist Python or PyPy version from the PATH will be used.
) - Pypi returns warning on CI because version is skipped.
That's kind of a big mess and pain to update. I might've even missed some Python versions.
I'd recommend to use Python 3.9 version everywhere except for Docker Containers. The reasoning is provided below:
- We want to support wider array of devices, hence we need to support older versions.
- Python versions are backward-compatible, but not forward-compatible, so it makes sense to focus on the oldest version to support.
- According to Status of Python Versions,
3.8
end of life is in 6 months, so it makes sense to skip it straight to3.9
. - Performance of Python depends on the version, so it makes sense to ship container with higher version than used for testing (
matrix
testing can be applied to avoid deprecation issues)
Node versions are another story (less complicated to our luck), but I skip this discussion for now.