-
Notifications
You must be signed in to change notification settings - Fork 790
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
Versioning of plugins #166
Comments
@rmoriz good idea. I had thought about this before but decided it wasn't high priority since I hadn't heard any complaints. This is the first I've heard about it causing a problem, sorry about the trouble. This will require a rewrite of the plugin install and plugin update commands, but it's definitely something we need to do. We will also need to tag all the plugins before making this change to asdf. |
I guess the easiest change would be to allow |
Just did a patch for this. Clones plugin into |
This would be a great addition! Just now the |
Questions:
|
My 2 cents.
I think just adding it to
It doesn't, it prints a info message maybe? (that the plugin can't be updated because it's pinned to a specific SHA commit)
It simply checks if the branch (or tag) points to the same SHA commit, if not, it uses that SHA.
If it's ok to "downgrade", then yes, it could be useful in situations like #90. |
Only update to the latest sha for that branch - #800
Only update to the latest sha for that branch - #800
I have ideas for how we could support semver updates for plugin updates. |
Personally, I'd prefer to update to the last released tag or be able to select a tag. |
Tags are convenient ; it would be nice to still always allow SHA too, because it provides a better way to ensure the target has not changed (a tag can be re-recreated, while a SHA does not), hence it is normally "more secure". The GitHub Actions guidelines on versioning are interesting in that regard! |
Most plugins aren't being released with tags. My initial idea was to translate the tag into the SHA leveraging the existing SHA support and circumventing the issues @thbar raises. GitHub Actions guidelines are silly, everyone should be using SHAs. GitHub should really be supporting an immutable tags solution. |
I prefer SHA but also must say that tags are helpful to bring security fixes automatically to teams without the bandwidth or the will to maintain SHA freezing! In the case of asdf plugins though, definitely agree, the ones I use never issue a release nor a tag, so this is a very good point. |
This would still require a user to reinstall or update the plugin on their machine to pull the latest tag. Just because a new semver minor version is published does not mean the user gets the latest changes in their code. The frequency with which we update dependencies and do full installs in our software, especially on the web, has given us a false sense of security. Additionally, if we were to support tags at all, it would be pinning to specific versions and not version ranges. |
This would still require a user to reinstall or update the plugin on their machine to pull the latest tag. Just because a new semver minor version is published does not mean the user gets the latest changes in their code. The frequency with which we update dependencies and do full installs in our software, especially on the web, has given us a false sense of security. Additionally, if we were to support tags at all, it would be pinning to specific versions and not version ranges. Keep the suggestions and discussions coming, and feel free to submit a solution via PR should anyone have the time. |
Very true for users, yet I know that people use asdf in automated builds (CI, auto-deploy etc). |
In all cases using pinned SHA versions more consistent than version ranges. CI and local machine using a different version from the same config file should be considered a bug, not a feature. |
As an update, plugins do support updating to a specific branch or git tag: From
Used as: asdf plugin add firebase https://github.com/jthegedus/asdf-firebase
# update to specific tag
asdf plugin update firebase v1.1.0
# or with a sha
asdf plugin update firebase 57f29ec #1204 will make this easier, requiring a single step. |
Manage asdf plugins securely and declaratively. Fixes: - asdf-vm/asdf#166 - asdf-vm/asdf#240 - asdf-vm/asdf#829 - asdf-vm/asdf#1577
Manage asdf plugins securely and declaratively. Fixes: - asdf-vm/asdf#166 - asdf-vm/asdf#240 - asdf-vm/asdf#829 - asdf-vm/asdf#1577
Manage asdf plugins securely and declaratively. Fixes: - asdf-vm/asdf#166 - asdf-vm/asdf#240 - asdf-vm/asdf#829 - asdf-vm/asdf#1577
Manage asdf plugins securely and declaratively. Fixes: - asdf-vm/asdf#166 - asdf-vm/asdf#240 - asdf-vm/asdf#829 - asdf-vm/asdf#1577
Manage asdf plugins securely and declaratively. Fixes: - asdf-vm/asdf#166 - asdf-vm/asdf#240 - asdf-vm/asdf#829 - asdf-vm/asdf#1577
Since it looks like there is no solution provided so far in asdf itself, I've created a plugin called asdf-plugin-manager to fix that issue and to manage asdf plugins securely and declaratively.
Or
|
Manage asdf plugins securely and declaratively. Fixes: - asdf-vm/asdf#166 - asdf-vm/asdf#240 - asdf-vm/asdf#829 - asdf-vm/asdf#1577
For the record, mise invented this Sure would be cool if these two ecosystems could agree upon a standard ;) |
Please consider adding functionality to install a specific version/to update to a specific version of a plugin. Also please consider versioning/tagging plugins in their repos.
The recent changes in the
nodejes
plugin broke a lot of setups.The text was updated successfully, but these errors were encountered: