On 2020-10-16 13:59:10 +0000 (+0000), Jeremy Stanley wrote:
On 2020-10-16 10:21:34 +0200 (+0200), Thomas Goirand wrote: [...]
I also think it'd be nice to have non-voting jobs detecting deprecated stuff. For example, a quick grep shows that a lot of projects are still using collections.Mapping instead of collections.abc.Mapping (which is to be removed in Python 3.10, according to the 3.9 release notes). Would there be a way to get our CI report these issues earlier?
They're going to all explode, at least until PBR gets some more changes merged and released to stop doing deprecated things. I've been slowly working my way through testing simple PBR-using projects with PYTHONWARNINGS=error (instead of =default::DeprecationWarning) and fixing or noting the issues I encounter. Up until recently, a number of its dependencies were also throwing deprecation warnings under 3.9, but now I think we're down to just a couple of remaining fixes pending. We didn't want to try to rush in a new PBR release until Victoria was wrapped up, but now I think we can finish this fairly soon.
Just to follow up, at this point I think we've merged and released everything PBR needs for this, but now it's become apparent we're blocked on Setuptools behavior. In particular, any call into setuptools/command/build_py.py unconditionally tries to import setuptools.lib2to3_ex.Mixin2to3 even if the build is not going to use lib2to3, so this will automatically raise a SetuptoolsDeprecationWarning if run with PYTHONWARNINGS=error. I expect we're stuck until https://github.com/pypa/setuptools/issues/2086 gets resolved, so this is the next thing to work on if anyone has time (it may take me a while to get around to submitting a PR as I expect they're going to want a very thorough cleanup). -- Jeremy Stanley