Thursday, 2022-12-15

@iwienand:matrix.orghttps://zuul.opendev.org/t/zuul/build/cf3d04e3029741d48251464a0daad7fd failed to build the nodepool image with a 429 rate limit from dockerhub.  probably an ephemeral error, but not sure we've seen much of that.  perhaps the host was previously doing some other job that was pulling a lot.  00:37
@iwienand:matrix.org> <@clarkb:matrix.org> are there kubernetes users that might want to weigh in on https://review.opendev.org/c/zuul/zuul/+/867136 and https://review.opendev.org/c/zuul/zuul/+/867137/ ? I'm interested in the image size savings but I think updating the client is potentially a win too?00:47
i'm not technically a user, but i've fiddled with the jobs and the osc before, particularly 853914 and it lgtm. along with k8s jobs, i think we need to have a discussion about our openshift testing, because it's stuck on centos-7 without a way off it, afaics
@iwienand:matrix.orgClark: if you have a sec for https://review.opendev.org/c/zuul/nodepool/+/867590/ and https://review.opendev.org/867579 that would be good to get the dib gate moving again01:36
-@gerrit:opendev.org- Anders Hanson marked as active: [zuul/nodepool] 867744: Add support for Kubernetes 1.24+ https://review.opendev.org/c/zuul/nodepool/+/86774405:46
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 867175: Reuse queue items after reconfiguration https://review.opendev.org/c/zuul/zuul/+/86717507:20
-@gerrit:opendev.org- Fabien Boucher proposed: [zuul/zuul] 867804: [gitlab driver] Handle missing diff_refs attribute https://review.opendev.org/c/zuul/zuul/+/86780413:36
-@gerrit:opendev.org- Fabien Boucher proposed: [zuul/zuul] 867805: [gitlab driver] fix "'EnqueueEvent' object has no attribute 'change_url'" https://review.opendev.org/c/zuul/zuul/+/86780514:47
-@gerrit:opendev.org- Fabien Boucher proposed: [zuul/zuul] 851008: fix "'EnqueueEvent' object has no attribute 'change_url'" https://review.opendev.org/c/zuul/zuul/+/85100814:56
-@gerrit:opendev.org- Fabien Boucher proposed: [zuul/zuul] 851008: [pagure driver] fix "'EnqueueEvent' object has no attribute 'change_url'" https://review.opendev.org/c/zuul/zuul/+/85100814:57
@jim:acmegating.comianw: fungi left an important comment on 867590 that would be good to address in a followup15:46
@clarkb:matrix.orgya I was just looking at that. Looks like podman and the containernetworking package are synced between the two distro versions currently15:50
@fungicide:matrix.orgright, if we pull from future-stable then we shield ourselves from accidentally being impacted by or growing dependent on newer versions after the next release16:26
-@gerrit:opendev.org- Zuul merged on behalf of Ian Wienand: [zuul/nodepool] 867590: Dockerfile: use containernetworking-plugins https://review.opendev.org/c/zuul/nodepool/+/86759016:35
@clarkb:matrix.orgI'm looking at tox v4 compat for zuul and friends. The main thing I'm running into trying understand is zuul/zuul/tox.ini's use of skipsdist and usedevelop17:20
@clarkb:matrix.orgtox v4 seems to treat skipsdist as more of a "skip install of repo as package" directive which causes usedevelop to be ignored17:20
@clarkb:matrix.orgI also think the use of the install command in zuul (which runs a script to build web things) may cause use develop to be functionally ignored?17:21
@clarkb:matrix.orgI'm going to remove skipsdist which will cause usedevelop to be used maybe? But reviewers should look at that aspect of the change closely I guess17:21
@jim:acmegating.comClark: i haven't put much effort into nox, but i think it's viable.  do you want to try that, or stick with tox?17:24
@clarkb:matrix.orgI think nox is good for a longer term migration? I'm just trying to avoid zuul having trouble on the 22nd when we land that zuul-jobs change17:25
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/zuul] 867829: Add tox v4 compatibility https://review.opendev.org/c/zuul/zuul/+/86782917:25
@clarkb:matrix.organd in that context the sdist behavior probbaly doesn't matter much17:25
@jim:acmegating.comwe could always pin it and then nox.  but either way works for me.  :)17:25
@clarkb:matrix.orgmy main concern with pinning is that a new developer trying to run zuul tests might not be aware that is necessary17:26
@clarkb:matrix.orgbut ya that would keep CI happy17:26
@jim:acmegating.comClark: why the depends-on?17:28
@clarkb:matrix.orgcorvus: to be sure that it works in CI with newer tox. I think we can drop that if it checks clean then merge today17:28
@jim:acmegating.comgotcha17:29
@clarkb:matrix.orgI think nodepool might be ok actually. It does set skipsdist, but none of the other known incompatibilities seem to be there17:29
@jim:acmegating.comClark: why would skipsdisk cause usedevelop to be ignored in zuul but not nodepool?17:30
@jim:acmegating.comoh because of install_command?17:30
@clarkb:matrix.orgI think it is ignored in both. The problem I have is I'm not sure what is more correct here. SKipping the sdist and install altogether or doing an install. In the zuul case I think it doesn't actually develp beacuse it uses the install script. In nodepool it would do a pip install -e if we drop skipsdist17:32
@clarkb:matrix.orgcorvus:  when skipsdist is set I think what happens is we don't install the project at all. The zuul change I just pushed should help clarify some of that behavior as I think the zuul install needs to happen for web testing17:35
@clarkb:matrix.orghrm even with skipsdist unset we aren't installing zuul which is causing things to break17:38
@clarkb:matrix.orgoh! because install_command is overriding things maybe?17:39
@clarkb:matrix.orgI wonder if you use install_command now if you need to explicitly list the current repo as a requirement?17:39
@clarkb:matrix.orgthis is a failure mode I didn't anticipate and now I'm extraconfused17:41
@clarkb:matrix.orgfungi:  ^ fyi17:41
@clarkb:matrix.orghrm I think I get it. I think it is using install_command to install the package too and that is breaking due to how zuu has defined it maybe17:42
@clarkb:matrix.orgwhereas in the past tox ignored install_command for installing the actual package17:42
@jim:acmegating.comClark: the old tox3 behavior is that it would run 2 commands: 17:43
`/usr/bin/bash tools/pip.sh -r/tmp/zuul/requirements.txt -r/tmp/zuul/test-requirements.txt`
then
`/usr/bin/bash tools/pip.sh --exists-action w -e .`
@jim:acmegating.comthose are at the head of py310-1.log and py310-2.log respectively17:44
@clarkb:matrix.orghttps://zuul.opendev.org/t/zuul/build/3c3e7e0c8e1b413a825b800b6fa303f5/log/job-output.txt#1712 appears to be the new thing that is breaking tools/pip.sh17:45
@clarkb:matrix.orgearlier in the log it does the equivalent of `/usr/bin/bash tools/pip.sh -r/tmp/zuul/requirements.txt -r/tmp/zuul/test-requirements.txt` but then it does an install breaking out all the deps which trips our check to install ansible but we haven't installed zuul yet17:45
@clarkb:matrix.orgI think this is due to the new isolated build env.17:46
@clarkb:matrix.orgIts fetching and building all the deps using the command we expect in an isolated build env. Then it is listing everything that produced and installing them against but via explicit listing17:46
@jim:acmegating.comClark: want to add a "set -x" to pip.sh to see what's failing?17:47
@jim:acmegating.com(i agree, zuul-manage-ansible seems the most likely, but maybe it could be `pip check`?)17:47
@clarkb:matrix.orgcorvus:  it is this: https://zuul.opendev.org/t/zuul/build/3c3e7e0c8e1b413a825b800b6fa303f5/log/job-output.txt#1803 because we haven't installed zuul yet17:47
@jim:acmegating.comah missed that17:48
@clarkb:matrix.orgbut the guard around that command isn't detecting that properly. I think a better check is simply checking if the command is in our path yet17:48
@clarkb:matrix.orgOnce it is in our path we should be good to run it17:48
@jim:acmegating.comClark: presumably there will be a 3rd command, and that's what we need to check for with tox4?17:48
@clarkb:matrix.orgcorvus: yup after the deps are installed it should get around to installing zuul itself and thats the bit I'm not sure about (I think it will pass the -e and maybe it will just work)17:49
@jim:acmegating.com(if we're lucky, we could check for something like "--exists-action" or "-e")17:49
@jim:acmegating.comClark: maybe easiest thing is to just comment out the zuul-manage-ansible and see what the logs say17:50
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/zuul] 867829: Add tox v4 compatibility https://review.opendev.org/c/zuul/zuul/+/86782917:52
@clarkb:matrix.orgI think ^ should get us further17:52
@clarkb:matrix.orgUnrelated: pypi tweeted out some graphs showing their python3.10 -> python3.11 switch. In particular their cpu utilization dropped. But it made me realize Zuul (at least in OpenDev) switched to python3.11 in prod as quickly as pypi did :)17:57
@fungicide:matrix.orgtrying to catch up, but even in tox v3 i think people were often abusing usedevelop to mean "install my project in this testenv" rather than for its intended purpose (making sure that the project is installed in "editable mode"). if the intent is simply to make sure the project is installed into a testenv then an explicit {toxinidir} in the testenv's deps list is the clearest way to achieve that. skipsdist continues to be a useful way to say "by default don't build an sdist of this project" but seems to also be mutually exclusive of usedevelop18:02
@clarkb:matrix.orgfungi: I don't think adding your project to the deps list works the way you want with usedevelop either18:05
@fungicide:matrix.orgfor personal projects where i over-optimize testenv specific deps lists, i set skipsdist=true in the global [tox] section and then deps={toxinidir} in [testenv] so that i can later override it with a different deps= instead of inheriting that, e.g. deps=bandit in my [testenv:bandit] section18:05
@clarkb:matrix.orgfungi: that will cause the project to be installed normally and then you'll do an editable install over the top of it18:06
@clarkb:matrix.orgIt looks like my latest patchset managed to get through the installation phase. Now we just need tomake sense of what all it did18:06
@fungicide:matrix.orgyes, well to be clear i also find develop/editable installs inherently broken, and the pip/setuptools devs keep trying to kill them because they're too hard to support reliably18:06
@fungicide:matrix.orgpretty much every discussion about overhauling packaging winds up with "oh but we have to support editable installs so that's not going to work"18:07
@fungicide:matrix.orgpretty sure the writing's on the wall18:08
@clarkb:matrix.org`py311: 213340 W install_package> bash tools/pip.sh --force-reinstall --no-deps /home/zuul/src/opendev.org/zuul/zuul/.tox/.tmp/package/1/zuul-8.0.2.dev54-0.editable-py3-none-any.whl` is what it ended up doing to install zuul. And that ran zuul-manage-ansible again but that only took a couple seconds as it finds the existing install from the previous step18:08
@clarkb:matrix.orgI think the patchset I've written most closely approximates the old behavior in that it doesn't seem to sdist and does seem to do an editable install18:08
@clarkb:matrix.orgI can remove the depends on if that passes and we can land it early if others agree.18:09
@clarkb:matrix.orgThen I guess we should drop skipsdist from the nodepool tox.ini too18:09
@fungicide:matrix.orgi think continuing to try to make things work the way they did is fine, i just would strongly advise new projects not to rely on editable installs because they're increasingly treated like a corner case/second class18:10
@clarkb:matrix.orgya I think changing that in zuul is a good next step. But it may not be immediately trivial due to the way the web build works?18:11
@clarkb:matrix.orgbasically that is orthogonal to tox v3 and v4 compat and should happen separately to enure we are happy with the results18:11
@clarkb:matrix.organd can keep track of all the moving parts18:11
@fungicide:matrix.orgfor example, pep 517 support in setuptools lagged behind for a year because they couldn't figure out how to support editable mode, and it seemed like they were about to throw in the towel at that point and just declare there would be no future support for it18:12
@fungicide:matrix.orgbut somebody who really felt strongly about continuing to keep it supported stepped up at the last moment to implement that18:12
@clarkb:matrix.org`/home/zuul/src/opendev.org/zuul/zuul/.tox/py311/lib/python3.10/site-packages/kazoo/handlers/utils.py:225: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated` ok that isn't right18:13
@clarkb:matrix.org.tox/py311/lib/python3.10 wut18:13
@clarkb:matrix.orgthat doesn't appear to happen under tox 3 looking at some older job runs18:14
@clarkb:matrix.orgI need to step out for a bit, but I guess I should try to come up with some trivial reproductions of that18:14
@clarkb:matrix.orgBut it almost looks like tox doesn't know how to select the correct python version anymore :/18:15
@fungicide:matrix.orghttps://docs.python.org/3/library/ssl.html#ssl.PROTOCOL_TLS "Deprecated since version 3.10: TLS clients and servers require different default settings for secure communication. The generic TLS protocol constant is deprecated in favor of PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER."18:16
@fungicide:matrix.orgoh, i see, using python 3.10 to run the py311 build18:17
@clarkb:matrix.orgfungi: ya the problem isn't the deprecation. THe problem is its a pyhton 3.11 tox target running under python3.1018:17
@clarkb:matrix.orgkazoo will need an update separately18:17
@fungicide:matrix.orgagreed, there were changes around how python versions are selected, i need to look back at the changelog18:17
@fungicide:matrix.orgClark: see "Rework how we handle Python packaging environments" at https://tox.wiki/en/latest/changelog.html#bugfixes-4-0-0a318:24
@fungicide:matrix.orgi think that's what we're seeing18:24
@fungicide:matrix.orgthe interpreter version selected for the testenv is not necessarily the one used for package build backends18:24
@hanson76:matrix.orgClark: ianw Looks I managed to get https://review.opendev.org/c/zuul/nodepool/+/867744 to pass all the tests, both in the change itself and in https://review.opendev.org/c/zuul/nodepool/+/86774518:24
Had been nice if someone could review it, I tried to change as little as possible, had to add one new method in FakeCoreClient for the tests to pass, except the actual fix in the kubernetes driver itself.
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/nodepool] 847387: Revert "Pin minikube to 1.25.2" https://review.opendev.org/c/zuul/nodepool/+/84738718:47
@jim:acmegating.comHanson: i rebased that on your change ^18:47
@jim:acmegating.com> <@fungicide:matrix.org> the interpreter version selected for the testenv is not necessarily the one used for package build backends18:49
that sounds less than ideal
@fungicide:matrix.org> <@jim:acmegating.com> that sounds less than ideal19:05
my best guess at the reasoning is that since the results are cached and reused outside of the context of that particular testenv, they decided having deps randomly built by an arbitrary interpreter version was wrong and that they should instead be consistently built by the interpreter version tox itself is installed on
@clarkb:matrix.orgfungi: the traceback I pasted is from the test not the build 19:05
@fungicide:matrix.orgClark: a local run or is there a build log you can link?19:10
@fungicide:matrix.organd ignore_basepython_conflict is on, right?19:11
@fungicide:matrix.orgassuming basepython is set at all19:12
@clarkb:matrix.orgfungi: https://zuul.opendev.org/t/zuul/build/ba117e2372a8480e9ca0c0fc26431344/log/job-output.txt#2255 this is all with zuul in zuul19:16
@clarkb:matrix.orgignore_basepython_conflict is set but python 3.11 is installed so that should cause this to happen. It may explain why it doesn't error though19:17
@clarkb:matrix.orgIs the issue that basepython = python3 is no longer determining which python to execute in the venv and it is informing the python to install to the venv?19:18
@clarkb:matrix.orgIf so this may be our first tox v3 vs v4 difference that we can't easily reconcile in the general case19:19
@clarkb:matrix.orgReading the docs that may be it. I'm not sure I like this change for projects that need python2 and python3 support concurrently but should be fine for zuul. I'll get a new patchsets up shortly to have it check. Need to figure out why linters timed out first19:21
@fungicide:matrix.orgClark: looks like line 815 is where this maybe starts going wrong19:22
@fungicide:matrix.org`.pkg: 231 D discover exe for PythonInfo(spec=CPython3.10.6.final.0-64, exe=/home/zuul/.local/tox/bin/python3, platform=linux, `version='3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0]', encoding_fs_io=utf-8-utf-8) in /usr [virtualenv/discovery/py_info.py:437]``19:23
@clarkb:matrix.orgYa so it might be finding `python3` there and calling it good. With old tox it would only fall back to that if the env specific version isn't found19:24
@clarkb:matrix.orgBut now it seems to prefer base python first. I don't like this change but also know it is unlikely upstream will care so we can just drop basepython19:25
@clarkb:matrix.orgIt is mostly there to assist the python2 to 3 transition but we are past that19:25
@clarkb:matrix.orgLooking at the linters job it complains about multiple packages in a flat layout. That is likely due to removing skipsdist and setting usedevelop false on the linters19:26
@clarkb:matrix.orgI think we can continue to skip the sdist there which would preserve old behavior19:26
@fungicide:matrix.orgyes, setuptools got picky about subdirectories in your package which don't have an __init__.py basically19:27
@fungicide:matrix.org * yes, setuptools got picky about subdirectories in your package which don't have an ``__init__.py`` basically19:27
@clarkb:matrix.orgYa but it looks like a warning that tox is the treating as an error? And for some reason doesn't actually exit properly and the job times out19:28
@clarkb:matrix.orgThe docker image installs should check that a proper install works though19:29
@clarkb:matrix.orgI have had to look at fixing this issue in other contexts in the past and always find it confusing the docs are not clear at all.19:29
@clarkb:matrix.orgIt isn't clear to me why it is breaking suddenly now since setup tools hasn't changed versions? Maybe new tox forces newer setup tools?19:30
@fungicide:matrix.orgso yeah, i'm starting to thing this is a regression in the basepython behavior. it used to be that basepython=python3 meant "use whatever the python3 installed in the venv is" but now it looks like that may be reinterpreted as "use whatever python3 outside your venv is"19:30
@fungicide:matrix.org * so yeah, i'm starting to think this is a regression in the basepython behavior. it used to be that basepython=python3 meant "use whatever the python3 installed in the venv is" but now it looks like that may be reinterpreted as "use whatever python3 outside your venv is"19:30
@clarkb:matrix.orgYup19:30
@clarkb:matrix.orgAnd didn't influence venv build selection19:31
@clarkb:matrix.orgOnly process execution 19:31
@fungicide:matrix.orghttps://tox.wiki/en/latest/config.html#basepython seems to suggest that dropping use of basepython is preferable, but also requires that your project and your version of tox both support your default python version19:34
@fungicide:matrix.orgin openstack we added that originally to force py3k for tests so that tox wouldn't incorrectly run unversioned testenvs with python 2.719:36
@fungicide:matrix.orgmaybe not so important today?19:36
@clarkb:matrix.orgYa I think for zuul at least we can drop it19:36
@clarkb:matrix.orgWe don't python219:36
@clarkb:matrix.orgAnd it is likely anyone doing python2 has tox installed with python3 and goes the other direction these days19:37
@fungicide:matrix.org> <@clarkb:matrix.org> It isn't clear to me why it is breaking suddenly now since setup tools hasn't changed versions? Maybe new tox forces newer setup tools?19:41
for that, i think it's that tox switched to using setuptools as a pep 517 build backend when you ask for an editable install, and setuptools only tuens on most of that package discovery breakage when you use it as a pep 517 build backend
@clarkb:matrix.orgI see19:41
@fungicide:matrix.orgat least i recall having to fix it up in one of my projects to make pyproject.toml stuff work19:41
@clarkb:matrix.orgdo you understand what setuptools is asking for/ this isn't the first time I've read the docs on this and felt like they don't actually explain the functionality19:42
@fungicide:matrix.orgtelling tox to do editable-legacy should avoid it19:43
@fungicide:matrix.orgbut otherwise i think setuptools wants you to explicitly declare those directories/their contents as "data"19:44
@fungicide:matrix.orgotherwise its discovery assumes you want them to be importable python packages19:44
@clarkb:matrix.orgthis isn't editable, it is doing an sdist19:44
@clarkb:matrix.orgthe other jobs works beacue tehy don't go down the editable path which seems fine19:45
@fungicide:matrix.orgahh, then that may simply be newer setuptools behavior19:45
@clarkb:matrix.orgThis is probably the 20th time I've read https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#finding-simple-packages and it still makes no sense to me19:46
@clarkb:matrix.orgdo you know if editing MANIFEST.in is stillvalid?19:47
@clarkb:matrix.orgbut also we build zuul with what I believe is pretty up to date setuptools in our docker image builds and that isn't editable and its fine19:49
@fungicide:matrix.orgi think supplying a manifest is supposed to override the discovery, but doesn't prevent it from running19:49
@clarkb:matrix.orgI wonder why it is breaking here19:49
@clarkb:matrix.orgI guess what we needto know is how to exress that web/ releasenotes/ etc/ and tool/s should be included like docs/19:51
@clarkb:matrix.orgbut I have absolutely no idea how to do that after reading the setuptools docs because while they say you can do this they do absolutely nothing to show you how19:51
@clarkb:matrix.orgfungi: I've just created a new virtualenv and updated `pip wheel setuptools build` to latest. Then ran `python -m build /path/to/zuul/repo` and that does not error19:56
@clarkb:matrix.orgit doesn't even emit a warning19:56
@fungicide:matrix.org"When using tool.setuptools.packages.find in pyproject.toml, setuptools will consider implicit namespaces by default when scanning your project directory. To avoid pkg.namespace from being added to your package list you can set namespaces = false. This will prevent any folder without an __init__.py file from being scanned."19:56
@fungicide:matrix.orgif memory serves, that's the relevant bit19:57
@fungicide:matrix.orgas far as what setuptools changes about discovery when used as a pep 517 build backend19:58
@clarkb:matrix.orgbut zuul isn't a pyproject.toml project and running the canonical pep 517 tool `build` produces no errors. I feel like I'm missing something19:59
@fungicide:matrix.orgbuild doesn't assume you have a pep 517 build backend, it just supports having one (as opposed to calling `setup.py bdist_wheel sdist` or whatever)20:00
@fungicide:matrix.orgi could have sworn i saw something in the tox v4 changelog about directly calling pep 517 methods under specific circumstances, thought it was related to the editable-legacy toggle but maybe not20:01
@clarkb:matrix.orghttps://tox.wiki/en/latest/faq.html#tox-4-packaging-changes is all I see20:03
@clarkb:matrix.organd build does the same thing. It uses an isolated env. That is fine as build works20:03
@clarkb:matrix.orgthe more I stare at this package discovery doc the more I'm confused too...20:03
@fungicide:matrix.orgthe tox changelog for v4 includes "the base packaging environment is used to get the metadata of the project (via PEP-517) and to build sdist and dev packages,"20:06
@clarkb:matrix.orgAre the setuptools docs telling me that if I just add find: then it will work?20:06
@clarkb:matrix.orghuh build doesn't write to the local dir?20:11
@clarkb:matrix.orgwow it writes into the source dir of what you are building20:11
@clarkb:matrix.orgugh20:11
@fungicide:matrix.orgbuild uses a throwaway temporary location20:12
@fungicide:matrix.orgthis might help: https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v611020:12
@fungicide:matrix.orgseems to confirm your interpretation of the custom discovery section in the docs20:14
@clarkb:matrix.orgwhat is odd is I've added the options to include specific dirs and it is still including more than that. Namely playbooks/ are included even if I don't list them20:16
@clarkb:matrix.orgpart of me is beginning to wonder if python somehow made packaging even more complicated than it was before.20:17
@clarkb:matrix.orgor if this is actually easier and since I've got ancient python packagign knowledge I'm finding the change to be difficult but the system isn't actually20:18
@fungicide:matrix.orgoh, they keep making it more complicated. this isn't particularly sudden20:18
@fungicide:matrix.orgrather, they made it different, in order to try to develop standards rather than the packaging standards being "whatever setuptools/pip do"20:19
@clarkb:matrix.orgright but it feels like those standard are somehow even more complicated20:19
@clarkb:matrix.orgwhich is impressive considering what we are comparing it to20:19
@fungicide:matrix.orgi think it's proving a fundamental law of information theory. for a standard to support what setuptools and pip already do it has to be at least as complex as they are20:20
@clarkb:matrix.orgha yes20:22
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/zuul] 867829: Add tox v4 compatibility https://review.opendev.org/c/zuul/zuul/+/86782920:24
@clarkb:matrix.orgI am able to run `tox -elinters` locally with that change and it doesn't seem to produce a different sdist content20:25
@hanson76:matrix.org> <@jim:acmegating.com> Hanson: i rebased that on your change ^20:33
Looks like it worked.
@clarkb:matrix.orgHanson: I'll review the changes after lunch20:34
@clarkb:matrix.orgfungi: new errors: First is we don't seem to run bindep as part of the linters job but since we do an sdist and that installs all of zuul's deps we need libre2-dev (at least). I'm now wondering if under tox v4 we weren't installing the package at all either due to the skipsdist? Both skipsdist and usedevelop=false were set which might've led to not installing the code at all? The second issue is that it is not getting version info for some reason and reporting the version as 0.0.0. Possibly because tox is making the build env with a copy of the repo without the git content?20:37
@clarkb:matrix.orgThats going to be a widespread issue with pbr users possibly20:38
@clarkb:matrix.orgok ya tox v3 doesn't seem to ever install zuul into the env in that situation. So I think I can change this to do that too. The problem is going to be that masks the isolated build env + pbr + versioning problems20:39
@fungicide:matrix.orgpossibly. i normally pushed for skipsdist=true + usedevelop=false in order to avoid unnecessarily building and installing the project everywhere tox was run even for things like linters which don't need the project and its deps installed, since that can be a massive and redundant waste of resources20:40
@clarkb:matrix.orgyes, though I thought we had a rough convention of using sdists in linters as a sanity check they could be built. But ya I'm just going to preserve the old behavior here20:40
@jim:acmegating.comClark: we have a build-python-release job20:41
@fungicide:matrix.orgmy personal preference is to test dist building completely separately, but that never really caught on with our projects20:41
@clarkb:matrix.orgThe versioning problem in an isolated build env is something we should look at generally because that has the possibility ofbreaking all pbr users20:41
@fungicide:matrix.orgfor mine, i have a [testenv:dist] which runs build and twine --check and so on20:41
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/zuul] 867829: Add tox v4 compatibility https://review.opendev.org/c/zuul/zuul/+/86782920:44
@clarkb:matrix.orgfungi: the bit that results in a 0.0.0 version is https://zuul.opendev.org/t/zuul/build/4a45beacba444e988bbaee7f2efd2940/log/job-output.txt#1673 I think it is directly invoking the things you do to have setuptools invoked via pyproject.toml20:48
@clarkb:matrix.orgthat could explain the difference in behavior with pcakage finding I guess since they are using the new interface and not the compatible one20:48
@clarkb:matrix.orgWhat I'm confused about is why that produces a 0.0.0 versions since pbr should work in that setup I thought20:49
@fungicide:matrix.orgyes, pep 517 build backends assume all metadata is static unless you explicitly mark things like version as dynamic20:49
@clarkb:matrix.orgfungi: but pbr + pyroject.toml + setuptools uses the same mechanism20:50
@clarkb:matrix.organd it produces correct versions as far as I can recall20:50
@clarkb:matrix.orgoh wait it might be pbr that invokes that method though not a direct invocation20:50
@clarkb:matrix.orgarg so ya this is completely broken for pbr20:50
@fungicide:matrix.orgfor my projects i have to set project.dynamic=['version'] in pyproject.toml with pbr20:51
@clarkb:matrix.orgbuild-backend = "pbr.build"20:52
@clarkb:matrix.orgtalking out loud here, I'm not sure how this is valid in the first place20:52
@clarkb:matrix.orgzuul is not a pyproject.toml project. It uses setup.py20:52
@clarkb:matrix.orgtox should not assume that it can invoke setuptools backends for pyproject.toml and have everything come out fine. It needs to invoke the setup.py20:52
@fungicide:matrix.orgis this in a usedevelop context?20:53
@clarkb:matrix.orgfungi: no this is `tox -elinters` on the previous patchset that created an sdist then failed to install it because libre2-dev wasn't around20:53
@clarkb:matrix.orgI feel like this is a fundamental flaw in tox. They need to use `build` instead20:53
@clarkb:matrix.orgbecause you cannot assume that you can bypass setup.py on a non pyproject.toml project20:54
@clarkb:matrix.orgcorvus: this has me thinking nox20:55
@clarkb:matrix.orgI thought maybe we could shim in tox v4 but that is a very fundamental flaw that is going to affect any project using pbr I think20:55
@jim:acmegating.comClark: ack -- if we want to divide up nox tasks, i can think of these: 1) zuul job/role to run nox; 2) finish boilerplate noxfile that passes linters, has copyright header, etc; 3) jobs for multiple python versions; 4..X) each session.20:59
@fungicide:matrix.orgClark: hah, looks like someone just opened this today... https://github.com/tox-dev/tox/issues/2730 "tox4: The usedevelop ineffective with skipsdist / editable package not present in virtual environment"20:59
@jim:acmegating.comoh and finish translating pip.sh into python21:00
@clarkb:matrix.orgcorvus: ok, I'm not sure I'll have time immediately for that beacuse now I need to try and express my concern on the openstack side of things21:01
@clarkb:matrix.orgfungi: ^ for the openstack side of things it would probably be good if you could look at the tox sdist behavior with pbr and see if you have the same concern21:01
@fungicide:matrix.orgyes, i need to upgrade my local tox and start playing around with some small projects to see if i can reproduce that behavior21:02
@jim:acmegating.comClark: i will prepare a tox pin change21:03
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed:21:08
- [zuul/zuul] 867057: WIP: play with noxfile https://review.opendev.org/c/zuul/zuul/+/867057
- [zuul/zuul] 867900: Pin tox to 3 https://review.opendev.org/c/zuul/zuul/+/867900
@hanson76:matrix.org> <@clarkb:matrix.org> Hanson: I'll review the changes after lunch21:08
Not sure if I should do "Worflow +1" when it's reviewed or if you (or someone else) does it when it's time.
Every "team" has it's own way of working ;)
@jim:acmegating.comHanson: your part is done unless someone comes back with a comment, thanks!  one of the zuul maintainers will workflow +1 when it's ready to submit21:09
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/nodepool] 867901: Pin tox to 3 https://review.opendev.org/c/zuul/nodepool/+/86790121:14
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 867057: WIP: play with noxfile https://review.opendev.org/c/zuul/zuul/+/86705721:16
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul-jobs] 867902: Add ensure-nox role https://review.opendev.org/c/zuul/zuul-jobs/+/86790221:23
@jim:acmegating.comClark: oh i think the big task is going to be siblings21:24
@jim:acmegating.comi'm pausing my nox work here for the moment with those changes ^ anyone should be able to build on them21:25
@clarkb:matrix.orgack21:37
@clarkb:matrix.orgcorvus: we'd probably also need zuul-jobs stuff to drive nox?22:54
@jim:acmegating.comClark: yeah, and the 'tox' role in zuul-jobs is where siblings happens23:02
@jim:acmegating.comso i think that combo is the next step23:03
-@gerrit:opendev.org- Zuul merged on behalf of Anders Hanson: [zuul/nodepool] 867744: Add support for Kubernetes 1.24+ https://review.opendev.org/c/zuul/nodepool/+/86774423:41

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!