mirror of
https://github.com/renovatebot/renovate.git
synced 2026-11-02 10:33:39 +00:00
af817f9e80
Ensure that the parsing of `GOPRIVATE`/`GONOPROXY` matches the behaviour of Go itself. The documentation for these values state it matches the logic of `path.Match`, however in reality it's actually a prefix based match. Updating the regex to allow for either an exact match, or a match where the configured value is a prefix of the package, when a `/` is added. Additionally, strip any trailing `/`'s from the configured value, as this matches the logic that Go takes when matching. Fixes #13138
Datasources
Datasources are used in Renovate primarily to fetch released versions of packages.
Follow the class-based programming style
New datasources must follow the class-based programming style.
Use the adoptium-java datasource as a reference.
getReleases
The minimum exported interface for a datasource is a function called getReleases that takes a lookup config as input.
The config contains:
lookupName: the package's full name including scope if present (e.g.@foo/bar)registryUrls: an array of registry Urls to try
getReleases should return an object containing:
releases: an array of strings of matched versions. This is the only mandatory field.deprecationMessage: a string description of the package's deprecation notice, if applicablesourceUrl: a HTTP URL pointing to the source code (e.g. on GitHub)homepage: a HTTP URL for the package's homepage. Ideally should be empty if the homepage and sourceUrl are the samechangelogUrl: a URL pointing to the package's Changelog (could be a Markdown file, for example). If not present then Renovate will search thesourceUrlfor a changelog file.tags: an object mapping tag -> version, e.g.tags: { latest: '3.0.0' }. This is only used by thefollowTagsfunction.
getDigest
Datasources that support the concept of digests (e.g. Docker digests and Git commit hashes) also can export a getDigest function.
The getDigest function has two inputs:
config: the Renovate config for the package being updated, contains same fields asgetReleasesnewValue: the version or value to retrieve the digest for
The getDigest function returns a string output representing the digest value. If none is found then a return value of null should be returned.