Run GitHub Actions CI on BuildStack
BuildStack can run your existing GitHub Actions jobs on its own compute — no GitHub-hosted minutes, no runner to babysit. Each job gets a fresh, isolated, single-use runner that BuildStack provisions on demand and tears down after.
1. Connect the GitHub App
From the CI runners page, connect the BuildStack GitHub App to the account (org or user) that owns your repositories, and install it on the repos you want to build.
2. Point a job at BuildStack
In your workflow, set the job's runs-on to the BuildStack label:
jobs:
build:
runs-on: [self-hosted, buildstack-linux]
steps:
- uses: actions/checkout@v4
- run: echo "running on BuildStack"
Push, and the job runs on a BuildStack runner. The CI runners page lists every run with its status, duration, and minutes, and you can open a run to read its logs in-app.
What the runner provides
The runner image is Ubuntu-based and includes Docker (via BuildKit), the Azure CLI, git, and common tooling. Language toolchains that your workflow installs with setup actions (for example actions/setup-node) work as usual.
The runner is daemonless for container builds — usedocker buildx buildfor image builds. A plaindocker buildfollowed by a separatedocker pushwon't work; combine them withbuildx --push.
CI minutes
Runs consume CI minutes from your plan's monthly allowance. When you run out, new jobs stay queued until minutes reset or you upgrade. Track usage on the CI runners page. See CI minutes, build quota & plans.
Troubleshooting
- Job stuck "queued", nothing happens — the workspace connection is usually
stale (common after reinstalling or recreating the App). Press Reconnect on the CI runners page. See Troubleshooting.
- Out of CI minutes — the usage bar shows this; upgrade or wait for the reset.