Migrate apm, bun, cargo, cocoapods, composer, conan, copier, deno,
devbox, gomod, helmv3, jsonnet-bundler, kustomize, mix, nuget and vendir
onto `fileAddition()`, `artifactError()` and `artifactErrorResult()`.
copier's private `artifactError()` is replaced by the shared one.
Behaviour change: artifact error text now comes from
`artifactErrorMessageFromExecError` everywhere, i.e. a non-blank
`err.stderr`, else a non-blank `err.stdout`, else `err.message`.
Previously apm used `${err}` ("Error: " prefix), cocoapods used a
nullish coalesce that kept an empty stderr, nuget preferred stdout over
stderr, and jsonnet-bundler emitted an undefined stderr with no
fallback. The rest used `err.message` only and are unchanged for errors
without output.
The apm manager keeps APM (Agent Package Manager) dependencies up to date.
Renovate reads the apm.yml manifest and updates the git-pinned entries under dependencies.apm and devDependencies.apm.
Each entry uses the form [host/]owner/repo[/subpath]#<ref>, for example:
name: your-project
version: 1.0.0
dependencies:
apm:
- microsoft/apm-sample-package#v1.0.0
- gitlab.com/team/project#v2.3.0
devDependencies:
apm:
- owner/repo#v1.2.3
Only entries that pin an exact #<ref> are updated.
Entries without a #<ref> are skipped because there is no version to bump.
APM also documents pinning to a commit SHA with the release tag kept as a trailing comment (owner/repo#<sha> # v2.0.0).
With pinDigests enabled (part of the config:best-practices preset) Renovate keeps both the SHA and the tag comment current, the same way it does for github-actions (uses: owner/action@<sha> # v4).
A SHA pin without a tag comment is skipped, as there is no version to track.
When an apm.lock.yaml lockfile is present, Renovate refreshes it by running apm install after updating the manifest.
This requires the apm CLI to be available (for example, with binarySource=global).