GitHub Actions has become the default CI/CD system for millions of repositories. According to developer Ian Duncan, that's a problem - and he's not wrong.
In a detailed blog post that's been making rounds on developer forums, Duncan argues that GitHub Actions succeeds through convenience rather than quality, and that convenience is costing engineering teams thousands of hours.
His complaints are specific and technical. The log viewer crashes browsers and requires multiple clicks to reach error messages. The YAML configuration includes a custom expression language that's poorly documented and easy to misuse. Runners are slow and resource-constrained. Debugging requires hours of trial-and-error because you can't test locally.
Here's what makes this argument compelling: GitHub Actions dominates not because it's the best CI/CD system, but because it's integrated with GitHub. When you're already using GitHub for source control, the activation energy required to set up Actions is near zero. That's powerful product strategy, but it's not the same as being a good tool.
The existence of multiple startups offering "GitHub Actions, but faster" suggests Duncan isn't alone in finding the platform's compute resources inadequate. Companies like Namespace, Blacksmith, and Runs-on have built businesses around this pain point.
Duncan proposes Buildkite as an alternative: a system that lets you control your own infrastructure, write logic in real programming languages instead of YAML expressions, and actually see logs that don't crash. But Buildkite requires more setup work and doesn't have the "click one button to enable" advantage of GitHub Actions.
The technology represents a classic tradeoff in software: convenience versus power. GitHub Actions optimized for getting started quickly. That's valuable for small projects and open source, where any friction in CI setup means many projects won't have CI at all.
But for production systems where CI performance actually matters, where engineers spend hours debugging workflow files, and where compute costs add up, that convenience starts looking expensive.





