-
Notifications
You must be signed in to change notification settings - Fork 33
Description
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.