parca-agent icon indicating copy to clipboard operation
parca-agent copied to clipboard

build: Replace Makefile by Earthfile

Open maxbrunet opened this issue 2 years ago • 3 comments

imo Makefile is not working great here, it is getting little tangly, and breaks often depending on where it is run. Nix could be a replacement, but I do not think anybody is interested in learning the language, we already use a lot of containers, so an Earthfile could make sense: https://github.com/earthly/earthly

(I have never used it before, but it seems to be based on the Dockerfile syntax with Makefile-inspired targets)

maxbrunet avatar Aug 23 '22 20:08 maxbrunet

Even though Earthly looks really interesting, I'm not a fan of having a lot of new tooling to work on the project. Make is not very sexy, but it's available everywhere. I would prefer to stick to the Makefiles.

That being said, I'd love to hear what others think. @parca-dev/agent-maintainers

kakkoyun avatar Sep 06 '22 09:09 kakkoyun

I :100: agree with @kakkoyun. Earthly indeed looks very interesting but for now, we also have more context over our Makefile. So it's easy for us to maintain too and I would avoid replacing it unless we've any strong reasons for the same. Thanks for the suggestion though @maxbrunet . I had not come across that project before.

v-thakkar avatar Sep 06 '22 16:09 v-thakkar

Strongly agree with @kakkoyun and @v-thakkar. While I have had some terrible end-user experiences while building things using make, it is very familiar tooling and given the pace at which new features are being added to parca-agent, it is easy to maintain and contribute to(for newcomers to parca) for the time being and maybe slightly early(for both parca and earthly) to consider replacing our current build system.

That said, going to try out Earthly for my next Friday project, looks super cool; thanks for bringing it up! :D

Sylfrena avatar Sep 07 '22 06:09 Sylfrena

Ok, no problem, I might do a POC at some point anyway, just to experiment with it

maxbrunet avatar Oct 06 '22 18:10 maxbrunet

Another alternative could be Mage (https://github.com/magefile/mage). We need to experiment, though.

kakkoyun avatar Oct 10 '22 13:10 kakkoyun