Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

inconsistent pinning of installation packages; recommend no pinning #1322

Open
joelb123 opened this issue Mar 29, 2023 · 0 comments
Open

inconsistent pinning of installation packages; recommend no pinning #1322

joelb123 opened this issue Mar 29, 2023 · 0 comments

Comments

@joelb123
Copy link

.github/workflows/constraints.txt pins pip, poetry, virtualenv, nox, and nox-poetry but not pipx. pipx is the main installer for GA tests, and it has been running at whatever version GA setup-python gives.

I don't believe pinning installation packages is a good idea for most packages. Version control of these utilities is under user, not app, control. Pinning these packages to an old version results in testing possibly being out of step with the installation most users will experience. As a developer, I care whether doesn't work on GA because of pipx dependencies, but I don't really care what those dependencies are.

Worse still, current versions are system-dependent, and the <constraints.txt> mechanism has no way of encoding this. I found this problem because the latest virtualenv under Linux and MacOS is ahead of what is working under Windows. Testing installation with virtualenv pinned to the older one that works under Windows is not what most users will experience, while pinning it to the current one breaks Windows testing.

Getting rid of the pinning results in six fewer constraints to be updated. It also somewhat simplifies tests.yml and release.yml.

While we are at it, release.yml uses pip, not pipx, although that doesn't really matter.

Also while we are at it, although caching of poetry is supported by setup-python, the timings I have done show no advantage and that caching complicates installation by a lot under any python version but the current default.

I recommend no pinning of installation packages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant