S
Everyday tests and builds
$39/month
$390/year
$32.50 a month, billed yearly
- CPU
- 4 vCPU
- Memory
- 8 GB
- Label
skipbox- Concurrent jobs
- 1
- Minutes
- Unlimited
Runners for GitHub Actions. Change one runs-on: line.
.github/workflows/ci.yml jobs:
test:
- runs-on: ubuntu-latest
+ runs-on: skipbox
steps:
- uses: actions/checkout@v4
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
runs-on, and pushSkipbox S is a flat $39 a month
Above about 9,500 minutes a month, Skipbox costs less than GitHub's ubuntu-latest.
Everyday tests and builds
$39/month
$390/year
$32.50 a month, billed yearly
skipboxHeavy builds and browser tests
$79/month
$790/year
$65.84 a month, billed yearly
skipbox-8x16Big builds, or high concurrency
$149/month
$1,490/year
$124.17 a month, billed yearly
skipbox-16x32Yes, most do. Skipbox runs the workflows of private repositories on GitHub organizations and personal accounts. The VM is Ubuntu 24.04 on x64 with Docker, git, build-essential, Node 22, and Python 3.12, and the job runs as a user with passwordless sudo, as on GitHub's runners. GitHub's ubuntu-latest image has more preinstalled, so add actions/setup-java, actions/setup-go, and the like for other tools.
No. Skipbox runs private repositories only: on a public repository, anyone who opens a pull request could run code on the runner. GitHub, too, advises that self-hosted runners should almost never be used for public repositories. A public repository's jobs aren't run, and the owner gets an email.
Yes. Plans cost $39, $79, or $149 a month, billed in US dollars monthly, or yearly upfront for the price of 10 months, with no usage charges. A plan limits how many jobs run at once and how big each is, not minutes: a job that doesn't fit waits until a running one ends, and waiting adds nothing to your bill. Your organization's page shows how many jobs are waiting and how long the oldest has waited. A job can run for up to 6 hours.
Concurrent jobs are counted in 4 vCPU jobs. A plan runs jobs up to its vCPU total at once (S 4, M 8, L 16 vCPU), so a job of 8 vCPU counts as 2, and one of 16 vCPU as 4. A plan's largest job is the CPU on its card. Add plans to run more jobs at once.
Each Skipbox S job gets 4 vCPU and 8 GB; GitHub's ubuntu-latest on a private repository is 2 cores and 8 GB. After your first job runs on Skipbox, the dashboard shows its time beside its median on GitHub over the last 30 days, when GitHub ran it then.
Only what it needs to register runners and check jobs. On an organization, the Skipbox CI app asks for three permissions: Self-hosted runners (write), to register a runner with GitHub for each job and remove it when the job ends; Actions (read), to see which jobs are waiting, check their status, and read how long your jobs ran in the last 30 days for your quote; and Metadata (read). It never edits or pushes your workflows, and it can't read your code: each job checks out your code inside its own VM. On a personal account, GitHub registers a runner for a repository only with the Administration permission, which also covers the repository's settings, collaborators and deploy keys. Skipbox (personal) asks for it and uses it only to register and remove runners. When you sign in, Skipbox also reads your email address, for trial and billing notices. As on any runner, a job's VM holds your workflow's secrets and GitHub's token for that job, so code the job runs can read them.
In Finland or Germany (EU). Jobs run on Hetzner Cloud servers made for one job each, whose vCPU are shared with other Hetzner customers. Each job gets a new VM, deleted with its disk when the job ends. A VM still there after 6 hours is deleted too. Nothing can connect in from the internet. Outbound mail (TCP port 25) is blocked. The rest of the internet is open, as on GitHub-hosted runners. There's no region outside the EU, so a job that talks to servers far from Europe spends longer on each request. Traffic isn't charged.
Cancel anytime; your plan runs to the end of the month, or the year, you paid for. If your first job doesn't start within 10 minutes of its turn, you get a full refund automatically.
Nothing is charged: the trial takes no card. It starts at your first job on Skipbox, not when you sign in or install the app, and runs one 4 vCPU · 8 GB job at a time for 7 days or 3,000 minutes, whichever comes first. There's 1 trial per account and 1 per person. When it ends, new jobs wait on GitHub until you choose a plan.
Change runs-on to skipbox to move, and back to ubuntu-latest to go back. Sign in with GitHub, install the Skipbox CI app on your organization or Skipbox (personal) on your personal account, change the job's runs-on line to skipbox, and commit; for a larger VM on plans that include one, use skipbox-8x16 or skipbox-16x32. To go back, change runs-on: skipbox back to runs-on: ubuntu-latest. Nothing else in your repository changed.
Change one runs-on: line. Any minutes, one price.