-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
Add python 3.11 to the CI #88038
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
Add python 3.11 to the CI #88038
Conversation
Looks like the custom executor needs to be adapted as well |
guppy3 is not python3.11 compat zhuyifei1999/guppy3#41 This service will return if and when guppy3 becomes python3.11 compat
There may be additional changes needed, but I could only see what needed to be updated based on the tests
Maybe mock out asyncio.Coro for py3.11 so they still work with 10 |
Still not sure what's going on with the executor since it works locally |
This is, as far as I spotted, used in two places:
As they re-used the namespace in the maintained version, it became both a drop-in replacement and a conflict. If both packages end up in our dependencies, one wins... (without knowing, as they will overwrite each other). So, it is suboptimal. We can fix it, all, by getting the first one fixed, bumping it on our end, bumping the docker base after that, and lastly banning the old package in our constraints file (all in that order). |
Bump vulcan-api to 2.3.0 see kapi2289/vulcan-api#126 see #88038 see home-assistant/docker#260
We can strip out the asyncio test patching at at any point once those integration have their libs updated. home-assistant/docker#260 will take care of the ccchardet |
Bump vulcan-api to 2.3.0 see kapi2289/vulcan-api#126 see home-assistant#88038 see home-assistant/docker#260
* Remove profiler.memory service guppy3 is not python3.11 compat zhuyifei1999/guppy3#41 This service will return if and when guppy3 becomes python3.11 compat * squash * temp remove * temp dump tests * temp dump tests * drop a few more to get a run * drop a few more to get a run * Account for changed python3.11 enum.IntFlag behavior in zha There may be additional changes needed, but I could only see what needed to be updated based on the tests * merge * restore * restore * legacy value * tweak a bit for the python 3.11 timings * block cchardet * conditional * adjust est * test * not yet * tweak * give a little leeway for timing * Fix otbr tests * Increase database test timeout It looks like we need a little more time to run with the addiitonal tests in home-assistant#87019 * Increase database test timeout It looks like we need a little more time to run with the addiitonal tests in home-assistant#87019 * Fix aprs tests with python 3.11 * merge fix * hints * Update homeassistant/package_constraints.txt * Update script/gen_requirements_all.py * Constrain uamqp for Python 3.10 only * Bump vulcan-api to 2.3.0 see kapi2289/vulcan-api#126 see home-assistant#88038 see home-assistant/docker#260 * add ban * Bump python-matter-server to 2.1.1 * revert * Update tests/asyncio_legacy.py --------- Co-authored-by: Erik <[email protected]> Co-authored-by: Franck Nijhof <[email protected]> Co-authored-by: Marcel van der Veldt <[email protected]>
Proposed change
Add python 3.11 to the CI
Previous PR #74650
Breaking enum changes
some breaking changes to Enum https://blog.pecar.me/python-enum
cchardet has a fork now: https://pypi.org/project/faust-cchardet/
Remaining known issues (this list will probably grow)
InterruptibleThreadPoolExecutor needs to be updated for py3.11
Issues with pending fixes
service.memory
Disable profiler.memory service with python 3.11 #88136Known issues that need to be broken out of here in a separate PR
fixed by Remove uamqp version constrain #88176
Integrations using a stub for asyncio.coroutine in tests only (broken in py3.11 but will still run in CI to keep py3.10 support)
Type of change
Additional information
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.To help with the load of incoming pull requests: