Tox and missing interpreters (was: Tox basepython and Python3)

Jeremy Stanley fungi at yuggoth.org
Tue May 12 15:26:10 UTC 2020


On 2020-05-12 13:43:12 +0100 (+0100), Sean Mooney wrote:
> On Tue, 2020-05-12 at 10:48 +0100, Stephen Finucane wrote:
> > On Mon, 2020-05-11 at 18:20 +0000, Jeremy Stanley wrote:
> > > On a related note, the proliferation of tested Python versions has
> > > led many projects to enable the skip_missing_interpreters option in
> > > their tox.ini files. Please don't, this is just plain DANGEROUS.
> 
> why is this dangourse it wont casue the ci jobs to be skipped since
> we guarentee the interperter will be present

Yes, the current tox-py38 in zuul-jobs sets "python_version: 3.8" in
the vars list which the parent job passes to the ensure-python role.
This is true for all current the tox-pyXY jobs there except tox-py27
(I'm not entirely sure why the discrepancy). The ensure-python role,
in its present state, will make sure the relevant pythonX.Y and
pythonX.Y-dev packages are installed on Debian and Ubuntu nodes, but
does nothing on other platforms.

So it's probably fairly safe for upstream testing with Zuul if the
project is only inheriting from the predefined tox-py3* jobs and
using the default (Ubuntu based) nodeset. If the project defines its
own job and neglects to set python_version or doesn't descend from
the generic tox job in zuul-jobs or sets a different nodeset, then
you'll get a successful build which ran no tests. That's a lot of
caveats.

We saw this first hand when OpenStack initially added its own py38
jobs, and have seen it crop up in third-party CI systems (as well as
confuse some new developers when they're running tox locally).
-- 
Jeremy Stanley
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20200512/6a82d421/attachment-0001.sig>


More information about the openstack-discuss mailing list