GitHub Actions Feels Bad
fasterthanlime2 HN recommenders · 2024–2025
118K views · commentary · dated · Uploaded 2023-12-23
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.
Pointed to in GitHub Actions threads as a well-argued critique of how brittle and confused the platform is.
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
40:20"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
1:03:55🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
54:20Bret Victor - Inventing on Principle
Rui Oliveira
19:10Velocity NY 2013: Richard Cook, "Resilience In Complex Adaptive Systems"
O'Reilly
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
Clojure/north
52:35Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017
GOTO Conferences
42:15"Performance Matters" by Emery Berger
Strange Loop Conference
3 comments from Hacker News
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)
> 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]
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]