Skip to content

Set up CI

Codebahn includes hosted CI runners on every plan. Your GitHub Actions-compatible workflow files run without changes.

If you already have .github/workflows/ in your repository, you’re done. Codebahn picks them up automatically.

If not, create .github/workflows/ci.yml:

name: CI
on: [push, pull_request]
jobs:
test:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- run: echo "It works"
Terminal window
git add .github/workflows/ci.yml
git commit -m "ci: add workflow"
git push

Open your repository on codebahn.net and click the Actions tab. Your workflow appears there with live logs.

Minutes are wall-clock time from when the job starts to when it finishes. A job that takes 90 seconds uses 2 minutes (rounded up to the nearest minute).

Minutes are counted per job, not per workflow. A workflow with three parallel jobs that each take one minute uses three minutes total.

When you run out of minutes, go to Settings > Billing and purchase a top-up. Top-up minutes are added to your pool immediately and persist until used (they do not expire at period end).

You can register your own runners alongside Codebahn’s hosted ones. Install the runner binary and register it against your instance. Use distinct labels to route specific jobs to your hardware.

Codebahn reads workflows from multiple directories. See Workflow directories for precedence rules.