Automated Dependency Updates for mise-en-place
Categories: no-category
Renovate supports updating mise-en-place dependencies.
File Matching¶
By default, Renovate will check any files matching any of the following regular expressions:
/(^|/)\.?mise\.toml$/
/(^|/)\.?mise/config\.toml$/
For details on how to extend a manager's managerFilePatterns value, please follow this link.
Supported datasources¶
This manager supports extracting the following datasources: crate, dart-version, docker, dotnet-version, flutter-version, git-refs, git-tags, github-releases, github-tags, go, hexpm-bob, java-version, node-version, npm, nuget, pypi, ruby-version, rubygems.
Default config¶
{
"managerFilePatterns": [
"/(^|/)\\.?mise\\.toml$/",
"/(^|/)\\.?mise/config\\.toml$/"
]
}
Additional Information¶
Renovate can update the mise mise.toml file.
Renovate only updates primary versions¶
Renovate's mise manager is designed to automatically update the first (primary) version listed for each tool in the mise.toml file.
Secondary or fallback versions require manual updates.
Example¶
Given a mise.toml entry like:
[tools]
erlang = ["23.3", "22.0"]
Renovate will update "23.3" (the primary version) but will not touch "22.0" (the fallback version).
Why can Renovate only update primary versions?¶
To maintain consistency and reliability, Renovate opts to only manage the first listed version.
- Fallback versions can often be older versions of a tool that are known to work and are there as a backup.
This follows the same workflow that Renovate's asdf manager uses.
Short names support¶
Renovate uses mise registry to understand tools short names.
Support for new tool short names needs to be manually added to Renovate's logic.
Adding new tool support¶
There are 2 ways to integrate versioning for a new tool:
- Renovate's
misemanager: ensure upstreammisesupports the tool, then add support to themisemanager in Renovate - Renovate's
asdfmanager: improve theasdfmanager in Renovate, which automatically extends support tomise
If mise adds support for more tools via its own core tools, you can create a PR to extend Renovate's mise manager to add support for the new core tools.
If you want to add support for other tools' short names to mise, you can create a PR to extend Renovate's asdf manager, which indirectly helps Renovate's mise manager as well.
Even if the tool does not use the asdf backend in the registry, the short names added to the asdf manager will still be used in the mise manager.
Backends support¶
Renovate's mise manager supports the following backends:
Limitations¶
Renovate's mise manager does not support the following tool syntax:
-
asdfandvfoxplugins e.g.asdf:mise-plugins/asdf-yarnorvfox:version-fox/vfox-elixirShort names with backends likeasdf:yarnorvfox:elixirare supported if the short names (yarn,elixir) are supported. -
aquapackages withhttppackage type. However if the short name usingaquabackend is supported by Renovate, it will be updated. e.g.aqua:helm/helmis not supported, buthelmoraqua:helmis supported. -
aquapackages withversion_filter. We don't read the aqua registry itself, so we can't support this feature. If some packages usingversion_filterlikeaqua:biomejs/biomeare not updated or updated incorrectly, setextractVersionin the Renovate config manually like below.
{
"packageRules": [
{
"depNames": ["aqua:biomejs/biome"],
"extractVersion": "cli/(?<version>.+)"
}
]
}
- Some of
ubibackend tools withtag_regexoption. Thetag_regexoption is used asextractVersion, but the regex engines are not the same between mise and Renovate. If the version is not updated or updated incorrectly, overrideextractVersionmanually in the Renovate config.
Supported default registry tool short names¶
Renovate's mise manager can only version these tool short names:
- bun (mise)
- deno (mise)
- elixir (mise)
- erlang (mise)
- go (mise)
- java (mise)
- node (mise)
- python (mise)
- ruby (mise)
- rust (mise)
- swift (mise)
- zig (mise)
- actionlint (mise)
- astro (mise)
- aws-cli (mise)
- aws-vault (mise)
- buf (mise)
- ccache (mise)
- committed (mise)
- consul (mise)
- dotenv-linter (mise)
- hivemind (mise)
- hk (mise)
- jq (mise)
- kafka (mise)
- lefthook (mise)
- localstack (mise)
- lychee (mise)
- opentofu (mise)
- pipx (mise)
- pkl (mise)
- protoc (mise)
- redis (mise)
- ruff (mise)
- shellcheck (mise)
- skeema (mise)
- sops (mise)
- sqlite (mise)
- stripe (mise)
- taplo (mise)
- terragrunt (mise)
- tilt (mise)
- tusd (mise)
- usage (mise)
- act (asdf)
- actionlint (asdf)
- adr-tools (asdf)
- argocd (asdf)
- asdf-plugin-manager (asdf)
- atmos (asdf)
- awscli (asdf)
- azure-cli (asdf)
- bun (asdf)
- cargo-make (asdf)
- checkov (asdf)
- clojure (asdf)
- clusterctl (asdf)
- conftest (asdf)
- container-structure-test (asdf)
- cookiecutter (asdf)
- cosign (asdf)
- crystal (asdf)
- dart (asdf)
- deno (asdf)
- direnv (asdf)
- dotnet-core (asdf)
- dprint (asdf)
- ecspresso (asdf)
- editorconfig-checker (asdf)
- elixir (asdf)
- elm (asdf)
- erlang (asdf)
- flutter (asdf)
- flux2 (asdf)
- gauche (asdf)
- github-cli (asdf)
- gitleaks (asdf)
- ginkgo (asdf)
- gleam (asdf)
- gohugo (asdf)
- golang (asdf)
- golangci-lint (asdf)
- gomplate (asdf)
- gotestsum (asdf)
- hadolint (asdf)
- haskell (asdf)
- helm (asdf)
- helm-docs (asdf)
- helmfile (asdf)
- hugo (asdf)
- idris (asdf)
- istioctl (asdf)
- java (asdf)
- julia (asdf)
- just (asdf)
- k3s (asdf)
- kind (asdf)
- kotlin (asdf)
- kubebuilder (asdf)
- kubectl (asdf)
- kubetail (asdf)
- kustomize (asdf)
- localstack (asdf)
- lua (asdf)
- markdownlint-cli2 (asdf)
- maven (asdf)
- mimirtool (asdf)
- minikube (asdf)
- mockery (asdf)
- nim (asdf)
- nodejs (asdf)
- ocaml (asdf)
- oci (asdf)
- opa (asdf)
- opentofu (asdf)
- packer (asdf)
- perl (asdf)
- php (asdf)
- pnpm (asdf)
- poetry (asdf)
- pre-commit (asdf)
- protoc (asdf)
- pulumi (asdf)
- python (asdf)
- rebar (asdf)
- ruby (asdf)
- rust (asdf)
- sbt (asdf)
- scala (asdf)
- shellcheck (asdf)
- shfmt (asdf)
- skaffold (asdf)
- sops (asdf)
- steampipe (asdf)
- talhelper (asdf)
- talosctl (asdf)
- terraform (asdf)
- terraform-docs (asdf)
- terraformer (asdf)
- terragrunt (asdf)
- terramate (asdf)
- tflint (asdf)
- tfsec (asdf)
- trivy (asdf)
- vault (asdf)
- yamllint (asdf)
- yq (asdf)
- zig (asdf)
- maestro (asdf)
- detekt (asdf)
- ktlint (asdf)
- yamlfmt (asdf)
- tuist (asdf)
- typos (asdf)
- uv (asdf)