nrwl / monorepo.tools

Your defacto guide on monorepos, and in depth feature comparisons of tooling solutions.
https://monorepo.tools
MIT License
289 stars 31 forks source link

Add Earthly to Monorepo Tools #56

Closed brandonSc closed 2 years ago

brandonSc commented 2 years ago

Hi folks, 👋

Really enjoyed the Monorepo.tools webpage.

Earthly is another great build tool when working in a monorepo. Its built-in caching can speed up development since it only rebuilds sub-components of a monorepo that are affected by a change.

Earthly also has a sophisticated Dockerfile-like syntax that lets you script just about anything in terms of build steps, unit or integration tests, code analysis, etc. Everything runs in sandboxed containers too, so something like a build failure in CI can be easily reproduced and fixed on a dev machine.

Some examples of Earthly in a monorepo can be found here and here.

I hope you'll find this a welcome addition to the webpage. Our fast-growing community of Earthly users actually suggested that we should be listed here.

nx-cloud[bot] commented 2 years ago

☁️ Nx Cloud Report

We didn't find any information for the current pull request with the commit adc77a4b29e499248c5a10113a41d3c8f608ca8b. You might need to set the 'NX_BRANCH' environment variable in your CI pipeline.

Check the Nx Cloud Github Integration documentation for more information.


Sent with 💌 from NxCloud.

netlify[bot] commented 2 years ago

Deploy Preview for monorepotools ready!

Name Link
Latest commit adc77a4b29e499248c5a10113a41d3c8f608ca8b
Latest deploy log https://app.netlify.com/sites/monorepotools/deploys/62712cfef695d1000866df14
Deploy Preview https://deploy-preview-56--monorepotools.netlify.app/
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

bcabanes commented 2 years ago

Hi @brandonSc , thank you for your time and contribution. We are reviewing the application since we did not know of Earthly before.

brandonSc commented 2 years ago

Hi @brandonSc , thank you for your time and contribution. We are reviewing the application since we did not know of Earthly before.

Thanks @bcabanes - and happy to answer any questions you have about Earthly.

bcabanes commented 2 years ago

Hi, thank you for your time! From the information, we gathered and the usages explained on https://earthly.dev/. We prefer to not add Earthly to monorepo.tools since it seems to be primarily a build system for containers and is not addressing specifically the different monorepo problems.

Earthly is used as a generic CI abstraction, both in monorepos and polyrepos situations. It does not focus specifically on helping developers with the main monorepo issues they face while developing their applications or packages.

We will probably add another section on the website for "related tools", we feel Earthly would be a good choice there.

vladaionescu commented 2 years ago

primarily a build system for containers and is not addressing specifically the different monorepo problems

It happens to use containers underneath - but that's simply an implementation detail. In fact, it addresses all the problems highlighted in this change - which are very much monorepo-specific problems.

Can you be more specific about how you think that Earthly is not addressing the monorepo problems indicated as part of this PR? (Brandon and I would be happy to join a zoom call if it's easier to discuss live)

tclasen commented 9 months ago

As an Earthly user, I'd like to see it added to the comparison list of other great monorepo tooling. One of the things Earthy does better than anything else on this list is isolation and caching of tasks and builds by leveraging the excellent OCI ecosystem. This means not only can all tasks be remotely executed and cached, but even for local tasks I don't need to have the tooling installed to be able to run that task locally, since it is all done in an isolated environment.

jmgilman commented 9 months ago

We prefer to not add Earthly to monorepo.tools since it seems to be primarily a build system for containers and is not addressing specifically the different monorepo problems.

This seems to be misinformed. A single example: the feature of sharing Earthfiles via FROM ../project+target is a huge boon for monorepos.