@fungicide:matrix.org | mordred: 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 those | 19:06 |
---|---|---|
@fungicide:matrix.org | long 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 backend | 19:09 |
@jim:acmegating.com | fungi: 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.org | sure! | 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/+/940267 | 20:01 | |
@fungicide:matrix.org | that ^ was a prerequisite for what i need to do anyway | 20:01 |
@fungicide:matrix.org | 923094 has bitrotted, and is going to need some adjustments to work out which platforms poetry-git-version-plugin will be installable on | 20:29 |
@fungicide:matrix.org | or rather which versions of poetry will install old enough versions of poetry-git-version-plugin on those platforms | 20:36 |
-@gerrit:opendev.org- Aurelio Jargas proposed: [zuul/zuul-jobs] 940271: Add ensure-uv role https://review.opendev.org/c/zuul/zuul-jobs/+/940271 | 20: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/+/923094 | 21:10 | |
@fungicide:matrix.org | hopefully that gets it back on track | 21: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.org | seems like there's several of us working on similar additions at the moment | 21:16 |
@aureliojargas:matrix.org | since mine is easily redoable, I can rebase in can of conflicts | 21:17 |
@aureliojargas:matrix.org | *case | 21:17 |
@aureliojargas:matrix.org | * since mine is easily redoable, I can rebase in case of conflicts | 21:18 |
@fungicide:matrix.org | cool. 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 fails | 21:21 |
@aureliojargas:matrix.org | BTW, do we really need to install that Poetry plugin in ensure-poetry, unconditionally? | 21:23 |
@fungicide:matrix.org | i don't know, i didn't touch that part of his change | 21:23 |
@aureliojargas:matrix.org | in team, for example, we don't need that, just poetry itself | 21:23 |
@aureliojargas:matrix.org | * in my team, for example, we don't need that, just poetry itself | 21:24 |
@jim:acmegating.com | fungi: 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.org | yeah, 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 state | 21:24 |
@clarkb:matrix.org | ya maybe we can put the poetry integration with release building after a change to switch to pyproject-build? | 21:26 |
@fungicide:matrix.org | jim: 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.org | we use `pyproject.toml` for the project version, so we can code-review if semver was correctly applied for the version bump | 21:26 |
@fungicide:matrix.org | aureliojargas: makes sense. different communities have different preferred workflows | 21:27 |
@clarkb:matrix.org | unrelated: I'm a big fan of the more condense zuul web ui | 21:28 |
@clarkb:matrix.org | thank you to whoever implemented that | 21:28 |
@aureliojargas:matrix.org | yeah, that's why I feel a little uneasy with a generic role such as ensure-poetry unconditionally installing a plugin for a specific workflow | 21:29 |
@fungicide:matrix.org | aureliojargas: please leave a comment about that on https://review.opendev.org/923094 | 21:29 |
@jim:acmegating.com | Clark: felixedel did work on that | 21:30 |
@clarkb:matrix.org | thanks again ^ I like it | 21:31 |
@fungicide:matrix.org | clarkb: 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-setting | 21:39 |
@fungicide:matrix.org | fwiw, i checked codesearch.opendev.org and don't find any users of that option on default branches of any projects hosted there | 21:39 |
@fungicide:matrix.org | also there's no actual testing of the bdist_wheel_xargs parameter that i can see, so no idea if it even works | 21:40 |
@fungicide:matrix.org | i'd be tempted to drop the feature entirely, if not for the additional wait time to properly deprecate it | 21:42 |
@fungicide:matrix.org | (or to announce its removal, i guess) | 21:43 |
@clarkb:matrix.org | I think universal is a package level flag now? | 21:46 |
@fungicide:matrix.org | yeah, but that was merely given as an example | 21:46 |
@clarkb:matrix.org | Oh this is for arbitrary flag pass through? Ya maybe just add it and note that it is experimental or something | 21:47 |
@fungicide:matrix.org | to 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.org | okay, can do | 21:48 |
@clarkb:matrix.org | I'm ok with not supporting it with build too if we think that is safer | 21:48 |
@clarkb:matrix.org | Then you get a clean break and people can use the legacy option if they really need it | 21:48 |
@jim:acmegating.com | i think legacy only for a role that was designed when there was effectively only one (legacy) way of doing things makes sense | 21:50 |
@fungicide:matrix.org | well, 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.org | seems like i can just make the releasepython and bdistwheelxargs rolevars only relevant when legacysetup is enabled | 21:51 |
@jim:acmegating.com | ya | 21: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/+/940273 | 22: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/+/940273 | 22:35 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!