It's kind of crazy that every time I push a change that fixes a tiny typo to Github, a whole new virtual machine is provisioned, downloads and installs a bunch of dependencies, runs a build script, and is immediately destroyed, only for the whole process to be repeated at the next push.
What is the energy cost of a CI workflow? For one tiny typo?
@gueorgui the energy cost is a marketing externality for startups like docker and npm, not the fault of your ci workflow. They built these toolchains to not have caching because it was faster to market in a winner takes all networking game, and they get better intelligence from their registry servers with this design.
Society will be out here patching up the broken pieces of these technologies decades after all these cruddy companies are swallowed by Microsoft and IBM.
It'd be interesting to add up the cost though. In particular since running vms in the cloud is one of the more socially productive and least environmentally destructive ways to export electricity from remote power generation sites like eastern Oregon.
@gueorgui Is it really a whole VM? Or is it containerized? Containers have a lot less overhead because they all share the host kernel. I do think it would be cool to have an agreed-upon mechanism for marking something as a minor non-code change that doesn't require the whole suite of unit tests to run, though
@gueorgui Also more projects could stand to implement some kind of caching in their CI so it doesn't have to pull in all dependencies every single time
@lunasspecto It is containerized, yes -- it's Docker based as far as I can tell. Still, a lot of work done for just a typo!
Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them. Check out our Patreon to see our donations.