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
feat(manager/asdf): add additional asdf supported tools #18612
Conversation
Adds support for: awscli, bun, cargo-make, clojure, crystal, deno, direnv, dprint, elixir, elm, erlang, gauche, golang, haskell, helmfile, helm, hugo, idris, java, julia, just, kotlin, kustomize, lua, nim, nodejs, ocaml, perl, php, python, ruby, rust, scala, shellcheck, shfmt, terraform, trivy, zig Code is largely extracted from: https://github.com/kachick/renovate-config-asdf/tree/1.8.0/plugins Thanks @kachick!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Co-authored-by: Rhys Arkins <rhys@arkins.net>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At least these tools are fetched from GitHub releases: using the GitHub tag can create a race condition where the tag has been published but not the release yet, which will fail asdf it the update is merged.
I implemented these on @kachick repository and that was an oversight from me, if we can have the fixed version here, that would be great!
sounds good. we should use releases when they are used by those tool instead of git tags |
Yes, I guess it could be applied to other tools, but it's probably plugin dependent, so in theory, it should be configured on a case by case basis ... |
Co-authored-by: Jonathan Ballet <jon@multani.info>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a look at all the links posted and make further adjustments.
Otherwise, this looks great!
Worst case scenario:
- The config references a git tag instead of a release: there may be a slight race condition and the new version can't be downloaded, but I guess it really happens for a short time.
- The config references a GitHub Release but only git tags are published: no updates will be proposed and Renovate's own config will have to be fixed. No harms done, bugs happen :)
Also, this is really tied up to the current implementation of each plugin and how upstream packages are released, so 🤷
Thanks a lot for importing all of this!
Co-authored-by: Jonathan Ballet <jon@multani.info>
@viceice I added the tests 👍 |
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
next time you should open the PR from personal repo, otherwise we can't update your branch, with is needed for merge |
@viceice Would you prefer for me to open a new PR from my personal account to replace this one? |
no, just use the github update button, and hope we get this merged fast enough before next main branch commit |
🎉 This PR is included in version 34.25.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
Changes
Adds support for the following tools to the
asdf
manager:awscli, bun, cargo-make, clojure, crystal, deno, direnv, dprint, elixir, elm, erlang, gauche, golang, haskell, helmfile, helm, hugo, idris, java, julia, just, kotlin, kustomize, lua, nim, nodejs, ocaml, perl, php, python, ruby, rust, scala, shellcheck, shfmt, terraform, trivy, zig
Context
Currently, only
nodejs
is supported.Documentation (please check one with an [x])
How I've tested my work (please tick one)
I have verified these changes via:
Test Repo: https://github.com/jshmrtn/renovate-asdf-test
Code is largely extracted from:
https://github.com/kachick/renovate-config-asdf/tree/1.8.0/plugins
Thanks @kachick!