vemonet / setup-spark

:octocat:✨ Setup Apache Spark in GitHub Action workflows
https://github.com/marketplace/actions/setup-apache-spark
MIT License
20 stars 12 forks source link

Use official download URL - Fixes #8 #25

Closed benjamincitrin closed 1 year ago

benjamincitrin commented 1 year ago

Also Updated ReadMe, as v1.1.0 solves the deprecation warning, but v1 does not

vemonet commented 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.

vemonet commented 1 year ago

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.

vemonet commented 1 year ago

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