melezhik / sparky

Sparky is a flexible and minimalist continuous integration server and distribute tasks runner written in Raku.
20 stars 0 forks source link

Can we think about "easy install" #35

Open thibaultduponchelle opened 3 years ago

thibaultduponchelle commented 3 years ago

I think the install should be dead simple, which is not the case today. (Ok there is the docker image but even)

I don't know what to do, but can we imagine at least a "fatpacked" version of sparky (sparky + modules). It would be even better to have a raku + zef + modules + sparky since raku is not always available on distributions and for sure not with a recent version (and the correct interpreter name).

Maybe a curl .../install.sh | bash would do the trick even if some people does not like this :yum:

According to me, it is a very important issue to start with for better adoption.

melezhik commented 3 years ago

Yeah. That's not easy bearing in mind the current state of Rakudo ( I have no idea how to fat pack zef modules), but at least we could think about installing Sparky using Sparrow itself, which is comparably easy task ....

thibaultduponchelle commented 3 years ago

I like the idea to install the tool with the tool itself :)

How would it look like ?

melezhik commented 3 years ago

something like that:

s6 --plg-run sparky-install

Of course it's not a full installation, as one still need to bootstrap host, by installing Sparrow/Rakudo. But even that could be automated using sparrowdo bootstrap script which is used in sparrowdo bootstraps - https://github.com/melezhik/sparrowdo/blob/master/resources/bootstrap.sh

This script will need some minor tweaks to get run directly, but say we put it to a public host in that case the bootstrap of Rakudo/sparrow will be:

curl https://sparrowhub.io/bootstrap.sh | sh # install  Rakudo and Sparrow
s6 --plg-run sparky-install # install Sparky using Sparrow
thibaultduponchelle commented 3 years ago

Last snippet looks good