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
mise
manager: ensure upstreammise
supports the tool, then add support to themise
manager in Renovate - Renovate's
asdf
manager: improve theasdf
manager 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:
-
asdf
andvfox
plugins e.g.asdf:mise-plugins/asdf-yarn
orvfox:version-fox/vfox-elixir
Short names with backends likeasdf:yarn
orvfox:elixir
are supported if the short names (yarn
,elixir
) are supported. -
aqua
packages withhttp
package type. However if the short name usingaqua
backend is supported by Renovate, it will be updated. e.g.aqua:helm/helm
is not supported, buthelm
oraqua:helm
is supported. -
aqua
packages withversion_filter
. We don't read the aqua registry itself, so we can't support this feature. If some packages usingversion_filter
likeaqua:biomejs/biome
are not updated or updated incorrectly, setextractVersion
in the Renovate config manually like below.
{
"packageRules": [
{
"depNames": ["aqua:biomejs/biome"],
"extractVersion": "cli/(?<version>.+)"
}
]
}
- Some of
ubi
backend tools withtag_regex
option. Thetag_regex
option is used asextractVersion
, but the regex engines are not the same between mise and Renovate. If the version is not updated or updated incorrectly, overrideextractVersion
manually 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)
- consul (mise)
- hivemind (mise)
- jq (mise)
- kafka (mise)
- localstack (mise)
- opentofu (mise)
- protoc (mise)
- redis (mise)
- shellcheck (mise)
- skeema (mise)
- sops (mise)
- stripe (mise)
- terragrunt (mise)
- tilt (mise)
- tusd (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)
- 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)
- lua (asdf)
- markdownlint-cli2 (asdf)
- maven (asdf)
- mimirtool (asdf)
- minikube (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)