-
Notifications
You must be signed in to change notification settings - Fork 54
what is the current versioning convention for tags? #18
Comments
Yes. The idea is that the tags should work like semver. In practice, you should be able to set the action at The only reason I added the For what it's worth, I expected to bump it to It's worth nothing that the implementation of github actions itself treats everything after the |
Somewhat related (@cartazio sorry for hijacking this issue), in the top-level
So let's assume we add an other action, e.g. But what would we do when say e.g. Or is the idea to have a separate set of tags for each action so that a user would e.g. specify uses: haskell/actions/run-tests@run-test-v1 ? Or maybe ask @AlexeyRaga if he is open to the idea of widening the audience of the uses: haskell-actions/setup@v1 or uses: haskell-actions/run-tests@v1 ? |
if only github had nested projects support, a la gitlab :) |
We have been thinking about it too, and came to the conclusion that having multiple actions in one repository isn't ideal because of the versioning: bumping a version for one action results in a version bump for all the actions within the repository, and this is very confusing. So we ended up having one repo per action (here: https://github.com/haskell-actions/) Perhaps this is also the reason for GH itself having a repo per action. Even heavily related actions (like upload and download artefacts) are modelled as different repositories by GH. So perhaps a repo per action isn's a bad idea after all. |
I went with one repo because it's been pretty rare in my experience that one needs to introduce backwards incompatibility into a github action. It's usually easy enough to preserve existing behavior and extend things with new options. I also didn't want to clutter the haskell org with more repos until I had been able to talk to more people about things. (I had only a few days to get this repo migrated over since the previous one was archived somewhat suddenly) I also didn't know the As it is, it's possible to split out
Yeah that's correct. You can get around this by using branches to make it easier to ensure that So, I guess the question is. Should this repo be changed to |
I think that the problem was not backwards compatibility per se. It is more like a cognitive load: because new versions are released regardless on whether the action has changed or not, the version name is now meaningless most of the time. |
One more option: How about using an independent (aka orphan) branch for each action. This allows for two things:
For comparison:
Downside of (1): Does not allow for independent versioning of actions. |
An other downside with the current setup is that actions in subdirectories can't be published to GitHub Marketplace. The same limitation applies for using orphan branches. The relation between a published action on GitHub Marketplace and a repositories is strictly 1-to-1. I'm not sure if publishing an action to GitHub Marketplace provides much value. Still, if it's my call, I would vote for using separate repositories (e.g. |
I think Simon H makes a good point. Even though it means I’ll have to
adjust my repos again
…On Tue, Jan 19, 2021 at 10:24 AM Simon Hengel ***@***.***> wrote:
An other downside with the current setup is that actions in subdirectories
can't be published to GitHub Marketplace. The same limitation applies for
using orphan branches.
The relation between a published action on GitHub Marketplace and a
repositories is strictly 1-to-1.
I'm not sure if publishing an action to GitHub Marketplace provides much
value. Still, if it's my call, I would vote for using separate repositories
(e.g. haskell/setup-action).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#18 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAABBQSLCXZ2ZWZL766NBI3S2WP4NANCNFSM4VEZ25YA>
.
|
I am not sure if it is intentional that the v1 tag does not point to the same commit as v1.2 (just noted due to GHC 9.0). FWIW there are ways to automate this, e.g. actions-tagger (used by the official actions/upload-release-asset). |
Yeah that was unintentional. I've been procrastinating on setting this up, but it's time to sit down and write myself a pipeline that versions/tags/etc things when they get merged to main. I'll see if I can get that done this weekend |
EDIT: v1 now points to the latest release. |
…s/core-1.2.6 Bump @actions/core from 1.2.4 to 1.2.6
Recent incarnation: |
Closing this issue in favour of #141. |
does v1 track most recent 1..? does v1.1 track most recent 1.1.*?
The text was updated successfully, but these errors were encountered: