
Owning Your GitHub Actions CI: Moving to Self-Hosted Runners
Moving to self-hosted runners isn’t just about saving CI minutes. It’s about shifting from using infrastructure to operating it. For a long time, GitHub-hosted runners were simply the default. You push code. A workflow runs somewhere. Artifacts appear. Clean. Abstracted. Convenient. I had experimented with self-hosted runners before — mostly while learning GitHub Actions. It worked, but I didn’t see a compelling reason to keep it. Then two things changed. First, I once had to build a macOS executable for a small utility. The binary produced by the default runner didn’t work on two developers’ laptops. We ended up building it directly on one of their machines. That was the first time I clearly felt that CI environments are not neutral. They are specific systems with specific assumptions. Second — more recently — GitHub runner minutes stopped being effectively free. That’s when experimentation turned into architecture. Not Just Installing a Runner Installing a runner is easy. Designing a
Continue reading on Dev.to
Opens in a new tab



