Monday, 2025-01-27

@fungicide:matrix.orgmordred: i'm starting work on a change to use https://pypi.org/p/build in the build-python-release job, so it's likely to at least merge conflict with your https://review.opendev.org/923094 adding poetry support, just a heads up, happy to coordinate between those19:06
@fungicide:matrix.orglong story short, using pbr.build as a build-system.build-backend in pyproject.toml won't work when invoking setup.py directly (version ends up set to 0.0.0), and i suspect the same is likely true for any other pep 517 backend19:09
@jim:acmegating.comfungi: that change looks like it was a victim of circumstance; maybe we should recheck it and you could build on it?19:56
@fungicide:matrix.orgsure!19:58
-@gerrit:opendev.org- Jeremy Stanley https://matrix.to/#/@fungicide:matrix.org proposed: [zuul/zuul-jobs] 940267: Add ensure-pyproject-build role https://review.opendev.org/c/zuul/zuul-jobs/+/94026720:01
@fungicide:matrix.orgthat ^ was a prerequisite for what i need to do anyway20:01
@fungicide:matrix.org923094 has bitrotted, and is going to need some adjustments to work out which platforms poetry-git-version-plugin will be installable on20:29
@fungicide:matrix.orgor rather which versions of poetry will install old enough versions of poetry-git-version-plugin on those platforms20:36
-@gerrit:opendev.org- Aurelio Jargas proposed: [zuul/zuul-jobs] 940271: Add ensure-uv role https://review.opendev.org/c/zuul/zuul-jobs/+/94027120:46
-@gerrit:opendev.org- Jeremy Stanley https://matrix.to/#/@fungicide:matrix.org proposed on behalf of Monty Taylor https://matrix.to/#/@mordred:inaugust.com: [zuul/zuul-jobs] 923094: Hook poetry into ensure-python and build-python-release https://review.opendev.org/c/zuul/zuul-jobs/+/92309421:10
@fungicide:matrix.orghopefully that gets it back on track21:10
@aureliojargas:matrix.org☝️ I've added the `uv` role. It's a verbatim copy of `ensure-poetry` with `s/poetry/uv/g`.21:15
@fungicide:matrix.orgseems like there's several of us working on similar additions at the moment21:16
@aureliojargas:matrix.orgsince mine is easily redoable, I can rebase in can of conflicts21:17
@aureliojargas:matrix.org*case21:17
@aureliojargas:matrix.org* since mine is easily redoable, I can rebase in case of conflicts21:18
@fungicide:matrix.orgcool. and hopefully my last edit to mordred's poetry change works, in which case i'll follow it with a change to switch pyproject-build to the default behavior in build-python-release with a legacy toggle to still invoke setup.py directly in cases where build unexpectedly fails21:21
@aureliojargas:matrix.orgBTW, do we really need to install that Poetry plugin in ensure-poetry, unconditionally? 21:23
@fungicide:matrix.orgi don't know, i didn't touch that part of his change21:23
@aureliojargas:matrix.orgin team, for example, we don't need that, just poetry itself21:23
@aureliojargas:matrix.org* in my team, for example, we don't need that, just poetry itself21:24
@jim:acmegating.comfungi: i have more knowledge of poetry since i reviewed that originally; i think there is a good chance that poetry-dynamic-versioning may be preferable to poetry-git-version-plugin.  if that continues to cause problems, it may be worth putting that back on the shelf.  do you need anything from that change that we should refactor out into a base change?21:24
@fungicide:matrix.orgyeah, i expect for cases where the project hard-codes versions into a file in the worktree you don't need to extract version data from git state21:24
@clarkb:matrix.orgya maybe we can put the poetry integration with release building after a change to switch to pyproject-build?21:26
@fungicide:matrix.orgjim: i don't need anything from it in particular, i just need to replace the current default behavior (calling setup.py) with invocation of pyproject-build, and i'll include a conditional escape hatch so people can get the legacy behavior if build isn't working with their setuptools-based project for some reason (but it's supposed to)21:26
@aureliojargas:matrix.orgwe use `pyproject.toml` for the project version, so we can code-review if semver was correctly applied for the version bump21:26
@fungicide:matrix.orgaureliojargas: makes sense. different communities have different preferred workflows21:27
@clarkb:matrix.orgunrelated: I'm a big fan of the more condense zuul web ui21:28
@clarkb:matrix.orgthank you to whoever implemented that21:28
@aureliojargas:matrix.orgyeah, that's why I feel a little uneasy with a generic role such as ensure-poetry unconditionally installing a plugin for a specific workflow21:29
@fungicide:matrix.orgaureliojargas: please leave a comment about that on https://review.opendev.org/92309421:29
@jim:acmegating.comClark: felixedel did work on that21:30
@clarkb:matrix.orgthanks again ^ I like it21:31
@fungicide:matrix.orgclarkb: i notice that the build-python-release role has a bdistwheelxargs option dhellmann added circa 2018 for doing things like setup.py bdist_wheel --universal and the closest thing i see mentioned for pyproject-build is a --config-setting option that lets you pass arbitrary cli opts to the backend... do you think it would be safe to just plumb it through to that? https://build.pypa.io/en/stable/#python--m-build---config-setting21:39
@fungicide:matrix.orgfwiw, i checked codesearch.opendev.org and don't find any users of that option on default branches of any projects hosted there21:39
@fungicide:matrix.orgalso there's no actual testing of the bdist_wheel_xargs parameter that i can see, so no idea if it even works21:40
@fungicide:matrix.orgi'd be tempted to drop the feature entirely, if not for the additional wait time to properly deprecate it21:42
@fungicide:matrix.org(or to announce its removal, i guess)21:43
@clarkb:matrix.orgI think universal is a package level flag now?21:46
@fungicide:matrix.orgyeah, but that was merely given as an example21:46
@clarkb:matrix.orgOh this is for arbitrary flag pass through? Ya maybe just add it and note that it is experimental or something 21:47
@fungicide:matrix.orgto rephrase, the role currently has an option that can be used to tack arbitrary text onto the end of setup.py bdist_wheel invocations, do we preserve that? and find a way to make it possible with build too?21:47
@fungicide:matrix.orgokay, can do21:48
@clarkb:matrix.orgI'm ok with not supporting it with build too if we think that is safer21:48
@clarkb:matrix.orgThen you get a clean break and people can use the legacy option if they really need it21:48
@jim:acmegating.comi think legacy only for a role that was designed when there was effectively only one (legacy) way of doing things makes sense21:50
@fungicide:matrix.orgwell, also there's the question of what to do with the release_python var, since we now won't need to explicitly invoke python itself when calling build's entrypoint (we could, but then we'd need to somehow get it installed into the proper environment for that python executable path, which is less trivial since it's in a separate role)21:50
@fungicide:matrix.orgseems like i can just make the releasepython and bdistwheelxargs rolevars only relevant when legacysetup is enabled21:51
@jim:acmegating.comya21:52
@clarkb:matrix.org++21:53
-@gerrit:opendev.org- Jeremy Stanley https://matrix.to/#/@fungicide:matrix.org proposed: [zuul/zuul-jobs] 940273: build-python-release: pyproject-build by default https://review.opendev.org/c/zuul/zuul-jobs/+/94027322:20
-@gerrit:opendev.org- Jeremy Stanley https://matrix.to/#/@fungicide:matrix.org proposed: [zuul/zuul-jobs] 940273: build-python-release: pyproject-build by default https://review.opendev.org/c/zuul/zuul-jobs/+/94027322:35

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