Set up CI
Codebahn includes hosted CI runners on every plan. Your GitHub Actions-compatible workflow files run without changes.
1. Add a workflow file
Section titled “1. Add a workflow file”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: CIon: [push, pull_request]jobs: test: runs-on: self-hosted steps: - uses: actions/checkout@v4 - run: echo "It works"2. Push to trigger
Section titled “2. Push to trigger”git add .github/workflows/ci.ymlgit commit -m "ci: add workflow"git push3. Check the Actions tab
Section titled “3. Check the Actions tab”Open your repository on codebahn.net and click the Actions tab. Your workflow appears there with live logs.
How minutes are counted
Section titled “How minutes are counted”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.
Top-ups
Section titled “Top-ups”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).
Bring your own runner
Section titled “Bring your own runner”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.
Workflow file locations
Section titled “Workflow file locations”Codebahn reads workflows from multiple directories. See Workflow directories for precedence rules.