mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-27 07:50:47 +00:00
9b87f8de2f
* feat(manager/dockerfile): extract `apk add` packages from `RUN` instructions As noted in #43711, users pin APK packages in their Dockerfiles and want Renovate to update them, which so far has needed a custom manager[0]. Now that we have the `apk` datasource, we can extract these ourselves, and parse the `RUN` instruction more effectively than a regex can. We can do this by: - extracting `apk add` dependencies when processing a `Dockerfile` - ignoring common flags to `apk` before we extract the dependency names, which wasn't straightforward with a Custom Manager - ignoring i.e. `--virtual .build-deps` - handle example cases from [0] and other usages i.e. with a comment in between lines - ensure that `final` doesn't run against the final `apk` install - removing the docs for how to do this with a Custom Manager, as that complexity is no longer needed - skipping `unspecified-version` and `contains-variable` We inform the user that they will need to override the `registryUrls`, as we already have a default on the `apk` datasource and can't override it in a straightforward means. [0]: https://www.jvt.me/posts/2025/03/24/renovate-regex-dockerfile-apk/ Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io> * fixup! feat(manager/dockerfile): extract `apk add` packages from `RUN` instructions Co-Authored-By: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io> * fixup! feat(manager/dockerfile): extract `apk add` packages from `RUN` instructions Co-Authored-By: Claude Opus 5 <jamie.tanna+claude-code@mend.io> * fixup! feat(manager/dockerfile): extract `apk add` packages from `RUN` instructions Find the command by name wherever it sits in the tokens, rather than skipping an allowlist of shell keywords and variable assignments, so that a wrapper program like `sudo`, `chroot /mnt` or `timeout 30` is handled too. Co-Authored-By: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io> * fixup! feat(manager/dockerfile): extract `apk add` packages from `RUN` instructions --------- Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>