chainguard-dev/melange

Feature request: consider replacing `use-tag` in `GitHubMonitor` updater with a more descriptive option

stormqueen1990 opened this issue · 0 comments

Currently, the GitHubMonitor updater in Melange contains an option called use-tag to indicate whether a project should pull tags instead of releases for an update, with releases being the default route when use-tag is not specified or is set to false:

// Override the default of using a GitHub release to identify related tag to
// fetch. Not all projects use GitHub releases but just use tags
UseTags bool `json:"use-tag,omitempty" yaml:"use-tag,omitempty"`

However, this context is difficult to get from just looking at a Melange manifest. There have been various instances of packages added into wolfi-dev/os with the use-tag flag set to true for projects that use releases, which results in the updater creating pull requests to bump packages to unreleased versions. One such example is wolfi-dev/os#19779.

Some examples of packages that are currently in this state include q, jellyfin, and ImageMagick, to cite a few.

With that in mind, I would like to suggest that use-tag gets marked as deprecated, with a new field being added to replace it. This new field could be called version-source, or something similar, with valid values being Release or Tag, which would give more context around the usage of the option.