renovate/lib/modules/manager/cargo/readme.md
Valentin Maerten 3c592a236c
feat(cargo): support private crate (#24704)
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2023-10-03 12:52:55 +00:00

23 lines
1.2 KiB
Markdown

Extracts dependencies from `Cargo.toml` files, and also updates `Cargo.lock` files too if found.
When using the default rangeStrategy=auto:
- If a "less than" instruction is found (e.g. `<2`) then `rangeStrategy=widen` will be selected,
- Otherwise, `rangeStrategy=bump` will be selected.
### Private Modules Authentication
Before running the `cargo` commands to update the `cargo.lock`, Renovate exports `git` [`insteadOf`](https://git-scm.com/docs/git-config#Documentation/git-config.txt-urlltbasegtinsteadOf) directives in environment variables.
Renovate uses this logic before it updates any "artifacts":
The token from the `hostRules` entry matching `hostType=github` and `matchHost=api.github.com` is added as the default authentication for `github.com`.
For those running against `github.com`, this token will be the default platform token.
Next, all `hostRules` with both a token or username/password and `matchHost` will be fetched, except for any `github.com` one from above.
Rules from this list are converted to environment variable directives if they match _any_ of these characteristics:
- No `hostType` is defined, or
- `hostType` is `cargo`, or
- `hostType` is a platform (`github`, `gitlab`, `azure`, etc.)