We built the fastest CI and it failed
31–40 of 301 posts
Re: We built the fastest CI and it failed
#32At least for me, whenever I have to set up CI or touch CI, it's incredibly painful. I usually end up having to push a bunch of commits to debug stuff, and there's a lot of configuration hell. I don't know if Earthly solves this, perhaps it does. But if I were considering moving onto a new CI, I'd immediately think about having to redo this painful process. And that's at the team level. At the org level, switching CI…
CI systems are important to me, but my requirement is pretty much: Can it run a bash script. Every CI I've ever used has degraded into a bash script runner. It starts out well enough, you try to use all the build in features but at some point you fallback to running a shells script and then slowly more and more move to the script, because it's easier. Someone should just build a bash CI, something that can manage sec…
Re: We built the fastest CI and it failed
#33What does fast CI even mean? CI is an overgrown shell script running your build and telling you when it fails. In general build tooling has gotten so slow that the cost of whatever CI runner relative to it should be nil. If you want fast CI you need fast tsc, clang, rustc, etc... not a faster program that calls exec on them. A bit more on topic, if you're selling CI and your business fails it's because people you're…
Perusing this article quickly, it means a CI that is automatically handling things like caching build artifacts so that you don't need to recompile your entire repository every single commit. It's not about a faster program to call exec; it's about a program that knows it need not even call exec.
Earthly is explicit about inputs ( using COPY) and outputs of each build step. This let's it be 100% certain about whether it can cache parts of the build.
If you are familiar with docker layer-based caching and Bazel, you can imagine how Earthly works to eliminate rework in builds.
Here is a small monorepo example: https://github.com/earthly/earthly-solutions
Re: We built the fastest CI and it failed
#34Specs run fast enough - especially locally where I only run failing or known-modified specs.
Re: We built the fastest CI and it failed
#35"People will buy a developer tool, but you can’t sell it."
Re: We built the fastest CI and it failed
#36Marketing fluff and bits of Earthfile's ugly syntax.
Re: We built the fastest CI and it failed
#37It was honestly a bit hard for me to understand what happened from this write-up. I read it a few times, and the terms are still bit confusing. Seems like there are at least two separate issues - migration of the CI configuration -- from existing CI YAML (github/gitlab) to Earthly (Makefile/Dockerfile hybrid) - migration of the job runners -- from existing CI to a service hosted by Earthly I would have thought the fi…
It's that people's CI over time become some kind of amalgamated model encapsulating how a firm makes every individual piece of software it makes and lands it places, think (ab)using a CI as Airflow (arbitrary automation job runner), and that the migration is first reverse engineering what people used to know, before even starting untangling all of that to express it some different way.
Nobody really wants to stop the world and sort that.
Re: We built the fastest CI and it failed
#38Earlier quoted context omitted.
> If you want fast CI you need fast tsc, clang, rustc, etc... not a faster program that calls exec on them Yes and no. Caching stuff and knowing when to run tsc/clang/rustc also improves performance.
Sure, but you have to be 100% perfect in guessing when the cache file must be rebuilt. If there is any situation at all where you use the cached file when you should have rebuilt your tool is not useful. Note that you can go too far. If you rebuild a file on linux even though the only changes were in a "#ifdef freebsd" (windows, mac...) section that is a waste of time, but not harmful. However we already have tools t…
Re: We built the fastest CI and it failed
#39Is the concept that requiring a demo for developer tools is a negative signal that strange? CI is also notoriously expensive to migrate, which the author alluded to. The pumpkin spice latte of software engineering is disdain for things like Jira and Jenkins but what keeps them in their seat is all the custom integration work that has to be done.
Re: We built the fastest CI and it failed
#40I've never heard anyone refer to a CI platform/system this way before and it sort of strikes me as a red flag.
Also the idea of running CI on your laptop seems questionable at best, downright irresponsible and insecure at worst.
Sure faster builds are nice, but by the time you're running your code through CI/CD its not usually after adding a few lines of for a feature, it's when the completed feature ready to merge or some sort of integration test is needed.