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