
GitHub Actions Feels Bad
About this video
A fasterthanlime video essay arguing that GitHub Actions is a poorly designed system, with a history of personal computing and CI, and a look at how it works behind the scenes. It is sponsored by Brilliant.
Why it appears in the archive
Pointed to in GitHub Actions threads as a well-argued critique of how brittle and confused the platform is.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
See also this excellent video essay by fasterthanlime: GitHub Actions Feels Bad[1]. I'm pretty sure it contains the exact line of it being "deeply confused about being a package manager". [1]: [VIDEO]
Read original comment ↗I prefer GA to basically every other build system especially because of the plugins but yeah, and I think caching can be turned on... but it has tons of inconsistencies related to packages and deps. This video really highlighted just how brittle the whole thing is even behind the scenes: [VIDEO] (13:58 time stamp for the part that is especially relevant here)
Read original comment ↗> Knowing that a language is installed by default on the most popular Linux distribution can simplify certain concerns considerably The author laments the decline of such knowledge, but the proliferation of containers, combined with the marketing efforts of the large cloud providers has reduced the number of people who work with servers directly. I should say that this knowledge can be useful in certain niche situations, though. For example, I recently learned that GitHub Actions pulls in a basic set of utilities by using complicated distro detection[1], and Gitlab runners similarly pulls in a Docker image with git just to clone a repository! Instead, the proper way to address this situation would be to compile static binaries, that, by their very nature, become distribution agnostic. The only reason I assume this wasn't pursued, I assume, would be that the developers working on this weren't even aware this was an option. It's the reason I've been maintaining a small set of packages[2] that I mount into every CI container for my personal projects. I'm also quite hopeful about the cosmopolitan project[3] that builds fat binaries which can bridge this gap, although as I discovered, some containers even lack tools like gzip (which cosmopolitan depends on), so maybe static binaries it is. [1] [VIDEO] [2] [LINK] [3] [LINK]
Read original comment ↗