Cargo

kind: cargo

Description

The cargo crawler looks recursively for all cargo crates from a specific root directory. Then for each of them, it tries to update dependencies specified in Cargo.toml.

This crawler can be enabled either automatically with default behavior by running updatecli diff --experimental from a directory containing the files to update. Or by providing a manifest.

Manifests

Parameters

The crawler cargo supports the following parameters:

NameTypeDescriptionRequired
ignorearrayIgnore specifies rule to ignore Cargo.toml update.
    cratesobjectCrates specifies the list of Cargo crates to check
    pathstringPath specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path.
    registriesarrayRegistries specifies the list of Cargo registries to check
onlyarrayOnly specify required rule to restrict Cargo.toml update.
    cratesobjectCrates specifies the list of Cargo crates to check
    pathstringPath specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path.
    registriesarrayRegistries specifies the list of Cargo registries to check
registriesobjectAuths provides a map of registry credentials where the key is the registry URL without scheme
rootdirstringRootDir defines the root directory used to recursively search for Cargo.toml
versionfilterobject

versionfilter provides parameters to specify the version pattern to use when generating manifest.

	kind - semver
		versionfilter of kind `semver` uses semantic versioning as version filtering
		pattern accepts one of:
			`patch` - patch only update patch version
			`minor` - minor only update minor version
			`major` - major only update major versions
			`a version constraint` such as `>= 1.0.0`

	kind - regex
		versionfilter of kind `regex` uses regular expression as version filtering
		pattern accepts a valid regular expression

	example:
	```
		versionfilter:
			kind: semver
			pattern: minor
	```

	and its type like regex, semver, or just latest.
    kindstringspecifies the version kind such as semver, regex, or latest
    patternstringspecifies the version pattern according the version kind
    strictbooleanstrict enforce strict versioning rule. Only used for semantic versioning at this time
⚠ This table is generated from the Updatecli codebase and may contain inaccurate data. Feel free to report them on github.com/updatecli/updatecli

Example

# updatecli.d/default.yaml
name: "Cargo compose autodiscovery using git scm"
scms:
  default:
    kind: git
    spec:
      url: https://github.com/updatecli-test/cargo-lab.git
      branch: "main"
  private-registry:
    kind: git
    spec:
      url: "https://github.com/updatecli-test/fake-cargo-registry.git"
      branch: "main"

autodiscovery:
  scmid: default
  crawlers:
    cargo:
      registries:
        fake-private-git:
          scmid: private-registry
        fake-private-http:
          url: "https://updatecli-test.github.io/fake-cargo-registry/api/v1/crates"

Top