Skip to content

Consider adding a "major version" tag that tracks the latest minor version within each major version? #130

@pmonks

Description

@pmonks

Background
When a GitHub action (such as DeLaGuardo/setup-clojure) is referenced from a YAML file in a uses element, the version component in the coordinate must point to a tag in that action's source repository. This means that there's no way to declare a "variable" dependency on any minor version of the major version of an action (i.e. 13.*).

To get around this, many GitHub action developers (including many actions developed by GitHub themselves) create "extra" tags in their source repositories representing the major version, and they move that tag to point to the new minor version's commit each time a new minor version is released.

This can be seen with, say, actions/setup-java, which (at the time of writing), has both a v5.1.0 tag and a v5 tag that point to the same commit. This means that users of this action can simply refer to actions/setup-java@v5 in their own GitHub actions, and today they'll be using v5.1.0, and in future, if a v5.2.0 is released and the v5 tag updated accordingly, their actions will automagically "upgrade" to using v5.2.0.

Request
It would be awesome if DeLaGuardo/setup-clojure were to adopt this same tagging strategy, so that Clojure developers who make use of it can simply declare a dependency on a major version (i.e. DeLaGuardo/setup-clojure@v13, at the time of writing), and then get automagic upgrades to future minor versions as new minor releases are made.

Is this something you might consider?

It may be possible to automate (i.e. creating a new minor version updates the "unadorned" major version tag to point to that new minor version's commit), but I'm unfamiliar with how GitHub actions are developed and released, so can't be certain.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions