Skip to content

Feature Request: Allow transformation of versions before versionfilter #5864

@VaismanLior

Description

@VaismanLior

Is your feature request related to a problem?

Some packages like curl use semver versioning, but the github tags in the repository use underscore separated semver, for example - curl-8_15_0.
This makes it impossible to use versionFilter semver constraints for those use cases.
The existing transformers system runs after the version filtration thus doesn't help it this case.

For example

sources:
  curl:
    name: Get latest Helm release version
    kind: githubrelease
    spec:
      owner: "curl"
      repository: "curl"
      token: '{{ requiredEnv .github.token }}'
      username: olblak
      versionfilter:
        kind: regex/semver
        regex: "curl-(\d+\.\d+\.\d+)"
        pattern: "8.15.x"

Solution you'd like

It would be very helpful if there was a hook between upstream version fetching and the version filtering, so we could transform the tags back to regular semver and apply the version filter afterwards.

Alternatives you've considered

Using release title/name as key (instead of the default tag_name) also didn't help to solve the issue as the SearchReleases function in github source doesn't search by the key property.
Even if it did use the key, not all packages have the regular semver in the release title.

Anything else?

Examples of packages with underscore separated versions:
https://github.com/libexpat/libexpat/releases/tag/R_2_7_1
https://github.com/curl/curl/releases/tag/curl-8_15_0
https://github.com/postgres/postgres/tags
https://github.com/ruby/ruby/releases/tag/v3_4_5

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions