👍 On Fri, Mar 19, 2021 at 1:41 AM Ben Kochie <[email protected]> wrote:
> Sorry, but this doesn't seem like any real improvement over the tooling we > already have. We're already CI vendor portable. We converted from Travis to > Circle long ago, our build steps just aren't that complicated. Everything > is in a standardized Makefile system. Adding more abstraction wrappers > isn't an improvement over GNU make. > > On Fri, Mar 19, 2021 at 2:21 AM Vlad A. Ionescu <[email protected]> wrote: > >> Hi Bjoern, >> >> Thanks for the pointers! I don’t think Earthly needs to necessarily >> replace promu. Or at least not entirely, and not all at the same time. >> Conceivably, it’s possible to set up Earthly to work kinda like a >> pass-through for the promu commands. >> >> I’m not familiar with the challenges of the Prometheus build, so I’ll try >> to list a few *possible* benefits. I’m shooting in the dark here - >> emphasis on “possible” :-) >> >> - In general, build scripts not captured by promu run containerized >> when ran through Earthly. This helps with keeping everything reproducible. >> (Earthly can also run things natively >> <https://docs.earthly.dev/earthfiles/earthfile#locally-experimental>, >> if that is needed - but it’s not the default). If promu is ran in Earthly, >> then it can optionally run containerized, eliminating any >> environment-specific variance. >> - Changes to the CI scripts can be tested locally, thus helping with >> the iteration speed when changing the build in any way. >> - Integration tests for client libraries can execute in a >> containerized environment. This helps with putting together the right >> language-specific dependencies, and also possibly set up matrix testing, >> to >> test against multiple versions of the client’s language. Such tests can >> execute isolated from one-another and in parallel. >> - For setups where many languages and repos interact with each other, >> Earthly has very powerful cross-repo import mechanisms if needed to bring >> everything together for integration testing. For example, if another >> project needs promu, it can be as easy as something like COPY >> github.com/prometheus/promu+promu/promu ./. You can also control >> versioning, tags, branches, etc. through build args. >> - Multi-platform support allows testing against other architectures >> (e.g. arm64). In Earthly, this works really well via QEMU under the hood. >> - If migrating from one CI vendor to another, migrating to Earthly >> first helps abstract away the CI. This helps reduce CI vendor lock-in, in >> case Circle decides to do what Travis did. >> - Compute intensive steps (if there are any) can be cached and not >> repeated if the inputs have not changed. In Earthly, this can work with a >> remote >> cache <https://docs.earthly.dev/guides/shared-cache> too. >> >> If any of this seems interesting, I’d be happy to put together a demo PR >> to POC a particular benefit. Also open to hearing of any specific >> challenges the community has with the build. >> >> Cheers, >> Vlad. >> >> On Thu, Mar 18, 2021 at 8:43 AM Bjoern Rabenstein <[email protected]> >> wrote: >> >>> On 17.03.21 11:43, Vlad A. Ionescu wrote: >>> > >>> > Not sure if this is the right place for this question. Wondering if >>> anyone >>> > is interested in trying https://github.com/earthly/earthly for the >>> > Prometheus build. >>> > >>> > Earthly could help with reproducing CI failures locally (via >>> containers) >>> > and for performing multiple isolated integration tests in parallel. >>> > >>> > It works well on top of Circle CI. >>> >>> The Prometheus project has its own organically grown build system, see >>> https://github.com/prometheus/promu , and rather elaborate CircleCI >>> setup. Not saying that's a perfect solution, but any new solution >>> needs to meet that bar, plus justify the effort and friction of >>> changing by some added relevant value. >>> >>> From that perspective, perhaps the first step should be to clarify >>> what would improve and what would change, and then convince >>> stakeholders that they actually want and need the improvements. >>> >>> -- >>> Björn Rabenstein >>> [PGP-ID] 0x851C3DA17D748D03 >>> [email] [email protected] >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Prometheus Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/prometheus-developers/CAO_OUmMq9h4HAWxqOCnoWQjM5Eqb753iEpL%2B%3D%3DATfmx6mdHzBQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/prometheus-developers/CAO_OUmMq9h4HAWxqOCnoWQjM5Eqb753iEpL%2B%3D%3DATfmx6mdHzBQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Prometheus Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/CAO_OUmMS5ThXtnwiPd43A%2BCfsDA8sW0Duza9DjaAkRaN7Ouzmw%40mail.gmail.com.

