-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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): support mise backends #33113
base: main
Are you sure you want to change the base?
Conversation
[tools]
"ubi:cargo-bins/cargo-binstall[tag_regex=^\\d\\.]" = "latest" It was my bad, I needed to escape twice in the test fixtures as it is first parsed as js file and then parsed as toml file. |
Changes
Supports mise backends.
https://mise.jdx.dev/dev-tools/backends/
core
asdf
aqua
cargo
dotnet
gem
go
npm
pipx
spm
ubi
vfox
Questions
Default Registry
Since the default registry now includes several backends, we need to reconsider how to store upgradeable tooling information.
Previously,
mise
only supportedasdf
plugins (and core plugins), but it now supports multiple backends. The default registry includes various backends, and some tools have fallbacks.For example:
Currently, Renovate supports these short names if they are manually registered in
upgradeable-tooling.ts
. However, we could potentially support tools not registered there by reading the registry. This approach would allow us to infer package names for backends such asaqua
,ubi
,pipx
, etc.Could creating a new datasource solve this issue? I’m not very familiar with how datasources work, but it seems the
go
datasource functions similarly by supporting multiple backend datasources.Additionally, tools in the registry can include options like:
Since the only relevant option for us is
tag_regex
, and only two tools in the registry usetag_regex
, we could ignore it.Aqua Backend
The
aqua
backend is based on aqua-registry, a registry for aqua, a CLI version manager. This registry defines how to download GitHub release binaries and specifies which ones to use.It might be beneficial to set the
extractVersion
property for GitHub releases/tags using theversion_filter
from theaqua
registry. Currently, we defineextractVersion
manually inupgradeable-tooling.ts
.While Aqua has its own Renovate config preset, aqua-renovate-config, it also sets
extractVersion
manually.v
prefixmise automatically strips
v
prefix. Even if the version is set to1.7.5
and the github release isv1.7.5
, it can be installed foraqua
andubi
backend.I feel it is redundant that Renovate requires
extractVesion="^v(?<version>.+)"
in the config for all of these tools.Are there any solutions for this?
=> Not a clean solution, but trimmed the
v
prefix from version and setextractVersion
for aqua and ubi backend.Context
Closes #30387.
Documentation (please check one with an [x])
How I've tested my work (please select one)
I have verified these changes via:
I'm going to test in a test repository and update the docs.