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
Update the supported coverage versions in ansible-test #80427
Comments
This comment was marked as resolved.
This comment was marked as resolved.
@mattclay do you have any specific incompatibilities in mind? |
@webknjaz That's something you'll need to research, to determine if there are any compatibility or performance issues with coverage 6.5.0 (the latest version currently used by ansible-test) on Python 3.12. I'd keep an eye on any issues or PRs for coverage that mention Python 3.12 compatibility during the development cycle. You should coordinate with @s-hertel, who is assigned to add support for Python 3.12, in case there ends up being a blocking issue there. It's entirely possible that the only issues will be lack of support for syntax not present in Python 3.10 (which will become our minimum supported controller Python version). If that's the case, we may not need to support a newer version of coverage and you can just report that here and close the issue. We shouldn't upgrade simply because a newer version is available (that will almost always be the case) -- and instead focus on whether or not the supported versions handle our use case. |
As for specific issues, one of the most likely will be if no wheels for Python 3.12 are published for 6.5.0. If that's the case, then we'll want to add a version which does have wheels. |
The coverage 7.2.7 release is the first to include wheels for Python 3.12, so we'll need to use that. Since it still supports Python 3.7 and the schema version hasn't changed, we can probably just use it to replace 6.5.0. However, we'll need to look over the release notes and see if there are any changes in behavior that will impact our usage. Taking a quick look, it appears that 7.0.0b1 introduced a change to file pattern matching that's likely to affect our usage. If so, handling that will likely be complicated, as we'll need to generate version specific configuration files and make sure the correct one is used in each environment. A few other changes in 7.0.0b1 that may also affect us (more research required):
It's also possible I missed something, or that there were changes not covered in the release notes. We'll also need to keep an eye on further coverage releases during the 2.16 development cycle and update to newer versions if there are relevant bug fixes before our code freeze. @webknjaz Once you've determined what changes affect us, if any, let me know so we can figure out how we're going to address them. |
https://coverage.readthedocs.io/en/7.2.7/migrating.html#migrating-to-python-3-12:
This is just something curious I noticed. https://coverage.readthedocs.io/en/7.2.7/migrating.html#migrating-to-coverage-py-7-x:
nedbat/coveragepy@ec6205a implemented this. https://coverage.readthedocs.io/en/7.2.7/config.html#report-include-namespace-packages:
Looking at the PR nedbat/coveragepy#1387, when this is unset, the behavior seems to remain unchanged as it was before v7. If we plan to use namespace packages in the future, it may be worth adding later but it shouldn't be necessary for the compatibility at the moment.
These are the patches: nedbat/coveragepy@09bc2d6 + nedbat/coveragepy@1cd6c9b. Judging by nedbat/coveragepy#1483 (comment), it should improve the combine performance by skipping the exact duplicate files. I hope we don't rely on duplicate files being present? |
Summary
Add support for the next version of
coverage
as needed to support Python 3.12.Issue Type
Feature Idea
Component Name
ansible-test
The text was updated successfully, but these errors were encountered: