Howdy, this series increases our minimum python version to 3.7. CI: https://gitlab.com/jsnow/qemu/-/pipelines/771780626 (All green!) GL: https://gitlab.com/jsnow/qemu/-/commits/python-require-37
Patches 1 and 2 are loose pre-requisites; I'd like to merge them into qemu.git within the week whether or not we take this series. I'd appreciate an "ACK" on those specifically. They're just riding along here because they make this series a bit nicer. Patches 3-6 are the hard pre-requisites, and 7 does the dirty work. The motivation for this series is that Python 3.6 was EOL at the end of 2021; upstream tools are beginning to drop support for it, including setuptools, pylint, mypy, etc. As time goes by, it becomes more difficult to support and test against the full range of Python versions that QEMU supports. The closer we get to Python 3.12, the harder it will be to cover that full spread of versions. The qemu.qmp library and the avocado testing framework both have motivations for dropping 3.6 support, but are committed to not doing so until QEMU drops support. So, I'd like to talk about doing it. RFC: - Patch 5 is just a proof-of-concept; it's not admissable as-is and I am aware of that. - Cleber, I need to update your ansible scripts. How do I test them? - Are we testing on CentOS 9 Stream yet? If so, we can move doc building from CentOS 8 to CentOS 9 to maintain that coverage. (See patch 6 for details.) Thanks! --js John Snow (7): python: support pylint 2.16 Python: drop pipenv configure: Look for auxiliary Python installations configure: Add nice hint to Python failure message testing: Add Python >= 3.7 to Centos, OpenSuSE CI: Stop building docs on centos8 Python: Drop support for Python 3.6 docs/conf.py | 4 +- python/README.rst | 3 - configure | 40 +- .gitlab-ci.d/buildtest.yml | 2 +- .gitlab-ci.d/static_checks.yml | 4 +- python/.gitignore | 4 +- python/Makefile | 57 ++- python/Pipfile | 13 - python/Pipfile.lock | 347 ------------------ python/qemu/qmp/protocol.py | 2 +- python/qemu/qmp/qmp_client.py | 2 +- python/qemu/utils/qemu_ga_client.py | 6 +- python/setup.cfg | 11 +- python/tests/minreqs.txt | 45 +++ scripts/qapi/mypy.ini | 2 +- tests/docker/dockerfiles/centos8.docker | 1 + tests/docker/dockerfiles/opensuse-leap.docker | 1 + tests/docker/dockerfiles/python.docker | 1 - tests/qemu-iotests/iotests.py | 4 +- .../tests/migrate-bitmaps-postcopy-test | 2 +- 20 files changed, 135 insertions(+), 416 deletions(-) delete mode 100644 python/Pipfile delete mode 100644 python/Pipfile.lock create mode 100644 python/tests/minreqs.txt -- 2.39.0