A Codeberg CI runner can come from three places: Codeberg's hosted Forgejo Actions runners, the shared agents behind ci.codeberg.org (Codeberg's Woodpecker instance), or a machine you attach yourself. Codeberg is a non-profit that runs its CI on donated money and volunteer time, and it sizes the hosted runners for linters and short test suites. A Rust workspace, a C++ engine or an embedded firmware build needs a runner you bring.
Status: Codeberg support is on the cirunner.dev roadmap. Our early access starts with GitHub Actions and GitLab CI. This page describes how Codeberg support will work.
Limits of Codeberg's hosted CI
Codeberg documents its hosted Forgejo Actions runners in the actions/meta repository. As of our last check:
- The labels
codeberg-tiny,codeberg-smallandcodeberg-mediumgive you a few cores at most and cap jobs at 2 to 10 minutes. - They run amd64 only, and you cannot start a Docker daemon inside them.
- Your project must be public and under a free license.
- Woodpecker at ci.codeberg.org needs an access request that a volunteer approves, and its shared agents build linux/amd64 only.
Those rules protect a shared, donation-funded service. They also mean a 25-minute compile has no home on Codeberg's hardware.
Attaching your own runner to Codeberg today
The Codeberg CI guide covers both paths:
- Forgejo Actions: enable Actions under Settings, Units, then open Settings, Actions, Runners and click Create new runner. Copy the UUID and token into a
forgejo-runnerconfig with a connection tohttps://codeberg.org/. Offline registration withforgejo-clidoes not work, because it needs admin access to the server. - Woodpecker: once ci.codeberg.org approves you, add an agent for your user or organization, copy its token and point a
woodpecker-agentatgrpc.ci.codeberg.org:443.
Your own runner lifts the free-license rule and the time limits, and it can serve private repositories. You also inherit the work: a machine that stays online, patches, disk cleanup, and isolation from fork pull requests that anyone on Codeberg can open.
How a managed Codeberg runner will work
- For Forgejo Actions, you create a runner on Codeberg for a repository, user or organization and hand us the UUID and token. For Woodpecker, you create an agent on ci.codeberg.org and hand us its token.
- You choose the machine in the configurator: more cores and memory than Codeberg's hosted labels, x86 or ARM, a GPU if you need one.
- Your workflow targets a label you pick, for example
runs-on: big-arm64in.forgejo/workflows/, or alabels:entry in.woodpecker.yaml. Use names that do not collide withcodeberg-*. - Each job runs on a fresh VM that we destroy afterwards. A build cache persists between jobs.
You can keep linting on codeberg-tiny and send only the heavy jobs to the bigger runner. Billing is per compute minute.
Codeberg CI options compared
| Codeberg hosted runners | Your own runner at home or on a VM | cirunner.dev (planned) | |
|---|---|---|---|
| Access | Public, free-licensed repos | Any repo you administer | Any repo you administer |
| Time limit | 2 to 10 minutes on Actions | Your choice | Your choice |
| Architecture | amd64 | Whatever you own | x86 or ARM, optional GPU |
| Isolation | Shared hardware | Depends on your setup | Fresh VM per job |
| Cost | Free, donations welcome | Machine plus your time | Per compute minute |
Who it is for
Good fit:
- Projects on Codeberg with compile-heavy builds that outgrow
codeberg-medium. - Private repositories on Codeberg that cannot use the hosted runners.
- Maintainers who need arm64 or GPU jobs and do not want a server under the desk.
Not a fit:
- Projects whose checks finish inside Codeberg's limits. Stay on the hosted runners and consider a donation to Codeberg e.V.
- Jobs that must reach machines on your home or office network.
FAQ
Does Codeberg have a Forgejo Actions runner I can use for free?
Yes, for public free-software projects. Enable Actions in the repository and target a codeberg-* label. The hosted runners have tight time and size limits, documented in Codeberg's actions/meta repository.
Can I use a self-hosted runner with Codeberg?
Yes. Create a runner in your repository, user or organization settings and connect a forgejo-runner to codeberg.org. The Forgejo runner page and the Codeberg guide explain the setup.
Is Codeberg Woodpecker CI still available?
Yes. Codeberg runs Woodpecker at ci.codeberg.org for approved projects. You request access, and approved users can attach their own agents. See the Woodpecker CI agents page for how managed agents will fit.
Can I run arm64 builds on Codeberg CI?
Not on the hosted runners, which are amd64 only. Attach your own arm64 Forgejo runner or Woodpecker agent, or vote for managed Codeberg runners on the early-access form.
Vote for managed Codeberg runners
Codeberg is on our roadmap. Vote for it on the early-access form and tell us whether you use Forgejo Actions or Woodpecker.
Vote for Codeberg runners