mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-25 15:01:49 +00:00
4cb4da6bd1
* test(manager): close ansible-galaxy, bun and droneci gaps Adds three extractions: a bun workspace glob that matches no file, a workspace package file that cannot be read, and a drone image continuation that is never terminated. Co-Authored-By: Claude Opus 5 <michael.kriese+claude-code@mend.io> * test(manager/gradle): mark the gradle parser and extract guards Nineteen guards across the gradle family, none of which a test reaches without a build script contrived to defeat the parser. Most are variable lookups and string interpolations that resolved to nothing; the rest cover a catalog fallback already marked unreachable, a registry that is already known, and a dep that did not default to the maven datasource a line earlier. The include/exclude mode chain stays counted, since a coverage-ignore hint does not attach to an `else if`. Co-Authored-By: Claude Opus 5 <michael.kriese+claude-code@mend.io> * test(manager): close kustomize, jenkins and homebrew gaps All five by test, no ignores. A kustomization declaring a local component, a nameless image and a nameless helm chart yields none of them, a jenkins plugin entry without an artifactId is skipped, and a github archive url that is not a tar.gz keeps its suffix in the version rather than having it trimmed. Co-Authored-By: Claude Opus 5 <michael.kriese+claude-code@mend.io> * test(manager/maven): mark the maven extract and update guards Fifteen guards across the maven family. Most check a field the extractor always populates - a dep name, registry urls, a current value. The rest cover a settings.xml carrying no registries, an array that is never falsy, a regex whose groups are present because the line already matched, and three update paths that a buildpack or snapshot bump always satisfies. One is left counted: the `propSource` fallback carries an `istanbul ignore next` that covers the line but not the expression's branch, and widening it would mean rewriting an existing hint. Co-Authored-By: Claude Opus 5 <michael.kriese+claude-code@mend.io> * test(manager/droneci): write the fixture with codeBlock The unterminated image fixture was assembled by joining an array of strings, which hid the shape of the file behind quoting and escapes. It is now a codeBlock literal laid out as the yaml it represents, with a parent key so the indentation the extractor matches on survives the dedent. Co-Authored-By: Claude Opus 5 <michael.kriese+claude-code@mend.io> * test(manager): indent the kustomize and jenkins fixtures properly The kustomize fixture sat flush with the statement and listed its components, images and helm charts at the same indentation as their keys. It is now indented one level inside the literal, with the list items nested under the keys as yaml is normally written. The jenkins fixture was an inline string with escaped newlines; it is now a codeBlock literal laid out the same way. Co-Authored-By: Claude Opus 5 <michael.kriese+claude-code@mend.io> --------- Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io>
The homebrew manager extracts dependencies from Homebrew Formula Ruby files.
Supported Files
Renovate supports Formula files that follow the Homebrew naming convention:
- Files must be located in a
Formula/directory - Files must have a
.rbextension - Example:
Formula/my-package.rb
Supported Dependencies
The manager extracts and updates:
- GitHub releases: URLs in the format
https://github.com/owner/repo/releases/download/v1.2.3/repo-1.2.3.tar.gz - GitHub archives: URLs in the format
https://github.com/owner/repo/archive/refs/tags/v1.2.3.tar.gz - NPM packages: URLs in the format
https://registry.npmjs.org/package/-/package-1.2.3.tgzorhttps://registry.npmjs.org/@scope/package/-/package-1.2.3.tgz - SHA256 checksums: Automatically computed for new versions
How It Works
When a new version is available, Renovate:
- Downloads the new tarball from GitHub or NPM registry
- Calculates the SHA256 checksum
- Updates both the
urlandsha256fields in the Formula file
Limitations
- GitHub packages: Only supports packages hosted on
github.com - NPM packages: Only supports packages from
registry.npmjs.org(custom registries are not supported)
Example Formulas
GitHub Package
class MyPackage < Formula
desc "My awesome package"
homepage "https://github.com/owner/repo"
url "https://github.com/owner/repo/releases/download/v1.2.3/repo-1.2.3.tar.gz"
sha256 "abc123def456..."
def install
# installation steps
end
end
npm Package
class ClaudeCode < Formula
desc "Anthropic's official CLI for Claude"
homepage "https://www.anthropic.com/claude-code"
url "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.0.tgz"
sha256 "abc123def456..."
license "Proprietary"
end
Unsupported Formulas
Formulas with the following characteristics will be skipped:
- Non-GitHub and non-NPM URLs (e.g., SourceForge, custom domains)
- NPM packages from custom registries (only
registry.npmjs.orgis supported) - Missing or invalid
sha256field - Git repository URLs (e.g.,
url "https://github.com/owner/repo.git") - Invalid class definitions
If you need to change the versioning format, read the versioning documentation to learn more.