Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Escaping the Cloud: How Five Repositories Stopped Sharing One Minute Limit

Description and use

Moving CI from GitHub Actions to a self‑hosted VirtualBox VM eliminated free‑minute limits for five private repos, providing isolated and reproducible builds.

Problem

Free GitHub Actions minutes were exhausted by five separate pipelines after splitting a monorepo, forcing the team to find an alternative CI solution.

Outcome

Reduced CI minutes consumption to zero by moving to a self‑hosted runner, achieving isolated, reproducible builds for five private repositories.

Workflow

  • 1. Deploy Ubuntu VM in VirtualBox on a Windows laptop. 2. Configure VM with NAT to isolate from host network. 3. Before each job, script rolls VM back to a clean snapshot. 4. Register runner with --ephemeral flag. 5. Run custom REST API polling script to manage VM lifecycle. 6. Use watchdog script to monitor and restart supervisor if frozen.
  • 7. Unregister orphaned runners via API script after each job.

Evidence

We flatly refused to buy extra cloud minutes and deployed our own self-hosted runner on a standard Windows office laptop.

Source

Before every new job, a script ruthlessly rolled the virtual machine back to a clean snapshot.

Source

  • Record date: 2026-09-22T16:15:53.206Z