Get started

Quickstart

From install to your first green job in a few minutes. Nothing else in your workflows changes.

Vitko Runners is in private beta. After you install the app, we confirm your organization, set up your runners and send you your label.

1. Install the GitHub App

Install the Vitko Runners app on your organization, on the repositories you choose. You can change the selection at any time on GitHub. After you install it, we confirm your organization and set up your runners; until then you’ll see that you’re on the waitlist. What the app can do is listed under Security.

2. Change one line

Point a job at Vitko by changing its runner label:

jobs:
  test:
-   runs-on: ubuntu-latest
+   runs-on: vitko-ubuntu-24.04

Or let the CLI make the change and open the pull request: vitko runners repos switch --pr

3. Push and watch the first job

Push the change. The job runs on Vitko, and its logs and results appear in GitHub as usual.

4. Start jobs warm (optional) Private beta

Add one line after your setup steps, and later jobs start with that setup already done:

  - run: npm ci
  - uses: vitko-inc/checkpoint@v1   # everything above is saved
  - run: npm test

Don’t use secrets before it. See Warm starts.

5. Parallelize your tests (optional) Private beta

Replace your test step with the split-tests action to run your suite in parallel parts:

- uses: vitko-inc/split-tests@v1
  with:
    prepare: uv sync --locked
    run: uv run --locked pytest -q

See Test parallelization for the supported tools and what to install first.

6. Estimate your bill

brew install vitko-inc/tap/vitko
vitko runners estimate usage-report.csv

Get the report on GitHub: your organization’s Settings → Billing and licensing → Usage → Get usage report. The CLI runs on your machine and uploads nothing. Source: github.com/vitko-inc/vitko.

Set a monthly spend limit and how many jobs run at once in Settings → Limits. At the limit, new jobs wait instead of running up your bill. See Spend controls.

If something goes wrong

Change the label back and push, and your jobs run on GitHub-hosted runners again. For a switch that needs no commit, see Fall back to GitHub-hosted. Then tell us: Support.