Closed benjamincitrin closed 1 year ago
Thanks a lot @benjamincitrin !
Just one thing: do we really need to specifically request v1.1.0
when calling the action in a workflow?
To me it seems like continuing to use v1
should automatically use v1.1.0
If this is not the case, then the setup-python
/setup-java
/setup-node
official actions versioning system are broken and need to be fixed (which I hope it is not the case)
Because they release new versions like v4.7.0
but they still ask their users to install v4
. And I hope the recommended way to use their actions gets me the latest updates, and not some old broken version that was released years ago.
I could not find much documentation about it.
And to be fair if the user needs to manually changes all his YAML workflows to get the latest fix that does not make any sense, and that completely goes against all what Semantic Versioning have been standing for (getting updates automatically without breaking your system)
So if this is the case (that we need to point to minor versions specifically in the actions), then the best will be to just tell users to use the main
branch.
Actually this blog post went through github action versioning: https://devopsjournal.io/blog/2022/10/19/How-GitHub-Actions-versioning-works
And GitHub is encouraging really bad practice in sotware engineering. Not supporting semver is ridiculous.
It requires action maintainers to re-tag v1 with the latest commit if you want people using v1
to get the updates. But re-tagging a release is just confusing for the user, and cumbersome for the maintainers (what were they thinking?)
The thing is... An action like setup-spark
is really straightforward and has no moving features. It just setup spark in a GitHub Action workflow.
So we could just tell people to use main
it will be much more secure than the broken versioning system proposed by GitHub
And if a user wants to come back to a specific version they can use the commit hash.
Seems like the best solution is to release using semver, then retag v1
to the latest commit, I have added a bit about it in CONTRIBUTING.md
Also Updated ReadMe, as v1.1.0 solves the deprecation warning, but v1 does not