BuildStack DocsOpen app →
Docs › Run GitHub Actions CI on BuildStack

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 — use docker buildx build for image builds. A plain docker build followed by a separate docker push won't work; combine them with buildx --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

stale (common after reinstalling or recreating the App). Press Reconnect on the CI runners page. See Troubleshooting.