aardappel / lobster

The Lobster Programming Language

Home Page:http://strlen.com/lobster

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Provides proper release packages

franko opened this issue · comments

I have seen that you don't offer release packages for download but you direct to the CI page to download the packages from there.

The problem with the current approach using CI is that:

  1. if you are not logged in into github you cannot download anything, not even see the available files
  2. downloading CI artifacts instead of proper release packages maybe perturbing to some user

For point (2) this is a subjective matter but I like the idea the maintainer provides release packages that correspond to a well defined version of the application. I think it is also important that the maintainer somewhat reviewed the release packages, a sort of minimal QA.

To my eyes the CI automated builds are better suited for nightly builds or something like that. In this case people know they are getting unofficial packages that have not been reviewed.

Side note: I was able to create a working stand-alone lobster executable for windows using MSYS2 and TDM GCC. I was wondering if there is a strong reason to request Visual Studio to compile on Windows.

For me the reason to direct people to CI is that I don't really do "versions", there are only really commits, and no commit is any more release-worthy than any other. I could randomly assign "versions" and make releases of them, but I am also trying to keep things simple and low maintenance, given that this is a small community of users.

Since Lobster is a thing for programmers I figured needing a github account would not be a deal breaker, as most would have an account already.

VS is simply what I use, and I personally don't test with GCC on Windows, but there's no reason it can't work. If there's a way to add a Windows GCC build to CI then maybe that would help.. I know @stefandd was also using TDM GCC (and I have it installed too, but only used it once).

If there was a more automated way to make release frequently that would help.. if I make them manually, and they're months old, I'd much rather have a user gets a CI build, because otherwise they (and me) have to deal with bugs/issue that have already been fixed. A release every commit? :P

For me the reason to direct people to CI is that I don't really do "versions", there are only really commits, and no commit is any more release-worthy than any other. I could randomly assign "versions" and make releases of them, but I am also trying to keep things simple and low maintenance, given that this is a small community of users.

I understand the low maintenance point, of course.

Since Lobster is a thing for programmers I figured needing a github account would not be a deal breaker, as most would have an account already.

That can be an annoyance, not everyone needs to be on github. I may recommends Lobster to my colleagues, they are engineers and researchers and not all of them have a github account neither they are all expert programmers.

VS is simply what I use, and I personally don't test with GCC on Windows, but there's no reason it can't work. If there's a way to add a Windows GCC build to CI then maybe that would help.. I know @stefandd was also using TDM GCC (and I have it installed too, but only used it once).

Thank you for the clarifications. I was just wondering if there was something fundamental about using VS!

If there was a more automated way to make release frequently that would help.. if I make them manually, and they're months old, I'd much rather have a user gets a CI build, because otherwise they (and me) have to deal with bugs/issue that have already been fixed. A release every commit? :P

Of course, the point you are raising is correct: creating packages for a release takes time, I am not going to argue about that. I have personally streamlined the process for my projects using scripts so that it takes a minimal amount of time but it still takes some time.

The other point about issue you solve after a release, well, for me this is not really a problem because people that are creating an issue on github are in general programmers. They are often able to compile the application by themselves and when not they can wait for the next release!

On the other hand I don't want to insist, I just wanted to share my point of view with you. I too have some projects that just don't have any version. When a project is small, with a small user base, it makes sense.

Otherwise, who knows, maybe in the future Lobster will be more widely used and it will have releases! :-)

In any case thank you for the feedback, I appreciate.

Well, we now have the start of automatic releases whenever a version gets tagged: https://github.com/aardappel/lobster/releases

Great, thank you!

In the future I may contribute to create the release package if you need some help.

well, now a release package is automatically created if I push a version tag.. so I just need to remind myself to push such a tag every N commits or so :)

Right, this is what I thought but there is only the Windows release. I know that it is the most important release but are you planning of adding also a linux and macos package ?

we could add those as well.. not sure how that would work adding them all to a single release though, as each CI job runs on a platform image and doesn't share data.. so that would generate 3 releases for each tag.

Unfortunately I cannot suggest a solution besides: we upload the package manually. When I volunteered to help you it was about that.