-
Notifications
You must be signed in to change notification settings - Fork 263
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
Implementation of Pipx Backend #1923
Conversation
Ok, I see the test failures and will check them out this weekend. |
Unit test failure is a rust security advisory unrelated to my changes:
coverage-1 is related to my changes and a failure in |
the unit test failure is because of dependencies with vulnerabilities. I'm going to remove those checks I think but if you pull the latest main it should be fixed. |
A conflated problem for the pipx backend is #1926 and I'm going to work around that known behavior for this PR. |
This commit adds a pipx backend to mise with the following behaviors: ``` mise x pipx:psf/black@24.0.3 PIPX_HOME=ctx.tv.install_path PIPX_BIN_DIR=ctx.tv.install_path().join("bin") pipx install git+https://github.com/psf/black@24.0.3 mise x pipx:./psf/black PIPX_HOME=ctx.tv.install_path PIPX_BIN_DIR=ctx.tv.install_path().join("bin") pipx install ./psf/black ``` The caveats to this implementation is: 1. We do not have a mechanism for fetching version and latest version those values are embedded in the project_name Tasks to accomplish before merging: - [ ] Alignment on approac - [ ] Align on limitations of version fetching - [ ] Add unit tests for project_name parsing and command building - [ ] Add e2e tests for construction variants of project_names
We do this to avoid a message from pipx about a missing path, which will later be added to path via mise behavior.
@jdx Ok, tests and implementation are in a good spot. A few outstanding things about PR:
|
When it looks good and is approved, I can squash it to remove the excess commits. |
while I'm fine starting here, listing remove versions is certainly going to be required functionality as most of what mise does will not function correctly without it so before this comes out of experimental that will need to be in place. btw the docs are located in a separate repo: https://github.com/jdx/mise-docs nice work! |
Following from our discussion in Discord about the pipx and GH release backends, here is the pipx one.
This commit adds a pipx backend to mise with the following behaviors:
The caveats to this implementation is:
Tasks to accomplish before merging:
I'm posting this for discussion and early feedback and then will do more testing on my own and resolve issues that occur in CI. I had some trouble locally and via docker with testing the e2e pipx test, so interested to see how CI behaves.
Cheers,
ZPH