“GitHub Actions is not good. It’s not even fine. It has market share because it’s right there in your repo, and that’s about the nicest thing I can say about it.”
This is a brutal takedown from someone who has used every CI system under the sun, from Jenkins to CircleCI to Buildkite and back again. The author has the scars and the credibility to make the case that the most popular CI tool in the world is actually a productivity vampire in disguise.
The log viewer alone sounds like a nightmare. Browser crashes, scrollbars that don’t scroll, loading spinners that lead to more loading spinners. After years of dealing with GitHub Actions’ UI quirks, it’s cathartic to see someone articulate exactly why it feels so broken. The DMV bureaucracy analogy lands.
But here’s where it gets interesting. The author isn’t just complaining, they’re pointing at Buildkite as the answer. And honestly? They’re right about the compute piece. When an entire cottage industry exists just to solve “GitHub Actions is slow,” that’s a signal, not noise. Multiple startups are profitable purely because the default option is inadequate. Let that sink in.
The YAML expression language critique is also spot on. We’ve all written $ expressions that failed for reasons that made no sense, waited four minutes for a runner to spin up, only to discover a missing quote ate our entire string. This is what passing your twenties looks like in 2026.
The bash script trap is a particular favorite. Every team hits this moment where the CI config gets so complicated that someone says “what if we just wrote a shell script?” and the answer is always the same: you didn’t escape CI, you just built a worse CI in bash. No tests, no guardrails, just spaghetti with set -euo pipefail.
Look, GitHub Actions won because it’s convenient, not because it’s good. Free for public repos, built into the platform everyone already uses, Good Enough for most teams. But if you’re running a real production system with real build times, the question worth asking is whether the convenience is worth the cumulative cost. The author makes a compelling case that it isn’t.
Source: Hacker News | Original Article