# Free CI runners

> Usable hosted CI runners and registries, and hosted build services whose free allowance is counted in build minutes.

Ranked by `vorder`, ascending; the rows with no parsed number follow, listed and not dropped, and the self-hosted rows come last. The same list: `https://fshy.ajam.dev/api/v1/need/ci-runners`, the MCP tool `need`, or this SQL:

```sql
SELECT rid, vorder FROM record WHERE (topic='ci-cd-runners' OR category='CI runner' OR (topic='compute' AND rid IN (SELECT rid FROM claim WHERE kind='free-quota' AND unit='build minutes'))) AND grp='usable' AND duplicate_of IS NULL AND coalesce(summary,'') NOT LIKE 'no free %' AND coalesce(summary,'') NOT LIKE 'no published free %' AND coalesce(summary,'') NOT LIKE 'no perpetual free %'
ORDER BY self_hosted, vorder ASC NULLS LAST
```

## Ranked (23)

1. [Appcircle](https://fshy.ajam.dev/p/appcircle.md) [`ci-cd-runners/appcircle-starter`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/appcircle-starter): qualifies-with-caveat | free tier | email? | card? | phone? | documented | stale on 2026-12-05. Starter, labelled Always Free: 20 builds per month, 1 concurrent build, 30 minutes max build time per build
2. [AppVeyor](https://fshy.ajam.dev/p/appveyor.md) [`ci-cd-runners/appveyor`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/appveyor): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-05. An Open-source plan at USD 0 listing 'Unlimited public projects', 1 concurrent job and 5 self-hosted jobs, with a 60-minute maximum build; the page states...
3. [Cloudflare Pages builds](https://fshy.ajam.dev/p/cloudflare.md) [`ci-cd-runners/cloudflare-pages-builds`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/cloudflare-pages-builds): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-05. Free plan: 500 builds a month, 1 build at a time, 20 minutes per build.
4. [Cloudflare Workers Builds](https://fshy.ajam.dev/p/cloudflare.md) [`ci-cd-runners/cloudflare-workers-builds`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/cloudflare-workers-builds): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-05. Workers Free: 3,000 build minutes a month, 1 concurrent build, 20 minutes per build, 2 vCPU, 8 GB memory and 20 GB disk.
5. [Codeberg CI (hosted Woodpecker)](https://fshy.ajam.dev/p/codeberg.md) [`ci-cd-runners/codeberg-ci`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/codeberg-ci): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-05. Free for public repositories under a free licence, after a manual access request; linux/amd64 only
6. [Codeberg Forgejo Actions (hosted runners)](https://fshy.ajam.dev/p/codeberg.md) [`ci-cd-runners/codeberg-forgejo-actions`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/codeberg-forgejo-actions): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-05. Three hosted runner labels on a free Codeberg account, in open alpha: tiny, small and medium.
7. [Dev Ramps](https://fshy.ajam.dev/p/devramps.md) [`ci-cd-runners/dev-ramps-free`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/dev-ramps-free): qualifies-with-caveat | free tier | email? | card? | phone? | documented | stale on 2026-12-05. Free: $0 / month with 500 build credits / month, 1 pipeline and 4 team members
8. [Semaphore Cloud](https://fshy.ajam.dev/p/semaphore.md) [`ci-cd-runners/semaphore-cloud`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/semaphore-cloud): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-05. USD 15 of free credits per month for every organization, about 2,000 Ubuntu x64 2-vCPU minutes; 20 concurrent jobs by default; no card
9. [Vercel CI](https://fshy.ajam.dev/p/vercel.md) [`ci-cd-runners/vercel-ci`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/vercel-ci): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-05. Hobby: 200 CPU minutes a month included; a CPU minute is one CPU running for one minute. Pro: USD 0.0035 per CPU minute. Beta on all plans
10. [Bitbucket Pipelines](https://fshy.ajam.dev/p/atlassian.md) [`compute/bitbucket-pipelines`](https://fshy.ajam.dev/api/v1/record/compute/bitbucket-pipelines): qualifies-with-caveat | free tier | email | card? | no phone | documented | stale on 2026-12-05. 50 build minutes a month on the Free plan, at $0 for up to 5 users, with 1 GB of Git LFS storage in total, up to 100 steps per pipeline and up to 10...
11. [Google Cloud Build](https://fshy.ajam.dev/p/google.md) [`compute/google-cloud-build`](https://fshy.ajam.dev/api/v1/record/compute/google-cloud-build): qualifies-with-caveat | free tier | card | no phone | documented | stale on 2026-12-05. 2,500 build-minutes a month per billing account on e2-standard-2 (2 vCPU, 8 GB memory) in the default pool, stated as a promotional free tier whose limit is...
12. [RunMyJob](https://fshy.ajam.dev/p/runjob.md) [`compute/runmyjob`](https://fshy.ajam.dev/api/v1/record/compute/runmyjob): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-05. The brand is now RunJob, and the read of https://runmyjob.io/ redirects to https://runjob.eu/, whose own title is 'Pay for CI Usage, Not Idle Time!' and...
13. [Azure Pipelines (private project, free grant)](https://fshy.ajam.dev/p/microsoft.md) [`ci-cd-runners/azure-pipelines-private`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/azure-pipelines-private): qualifies-with-caveat | free tier | card | phone | documented | stale on 2026-12-04. 1 free parallel job with 1,800 minutes a month and 60 minutes per job, with a 10 GB disk
14. [Buildkite Free](https://fshy.ajam.dev/p/buildkite.md) [`ci-cd-runners/buildkite-free`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/buildkite-free): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-04. 5 users, 10 concurrent jobs and 2,000 Linux vCPU-minutes a month, plus 250,000 test executions a month
15. [GitHub Actions on a private repository](https://fshy.ajam.dev/p/github.md) [`ci-cd-runners/github-actions-private`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/github-actions-private): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-04. USD 12 of included compute usage per month on GitHub Free and GitHub Free for organizations (the vendor states a monetary amount, not minutes); at USD 0.006...
16. [GitHub Actions on a public repository](https://fshy.ajam.dev/p/github.md) [`ci-cd-runners/github-actions-public`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/github-actions-public): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-04. Standard GitHub-hosted runners are free with no minute cap on a public repository; 20 concurrent jobs on Free; 6 hours per job
17. [GitLab CI on GitLab.com Free](https://fshy.ajam.dev/p/gitlab.md) [`ci-cd-runners/gitlab-ci`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/gitlab-ci): qualifies-with-caveat | free tier | card | phone | documented | stale on 2026-12-04. 400 compute minutes a month per namespace; 5 users per top-level group; 10 GiB of repository storage
18. [GitLab](https://fshy.ajam.dev/p/gitlab.md) [`compute/gitlab`](https://fshy.ajam.dev/api/v1/record/compute/gitlab): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-12-04. 50,000 compute minutes per month in the GitLab for Open Source Program (GitLab Ultimate features), charged at a program-specific cost factor of 0.5 for...
19. [CircleCI Free](https://fshy.ajam.dev/p/circleci.md) [`ci-cd-runners/circleci-free`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/circleci-free): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-11-30. 30,000 credits a month on the Free plan, with up to 5 active users and 30x concurrency; open-source projects get up to 400,000 credits a month for Linux...
20. [GitHub Container Registry](https://fshy.ajam.dev/p/github.md) [`ci-cd-runners/ghcr`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/ghcr): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-11-22. Public packages free; private packages 500 MB of storage and 1 GB of transfer a month on GitHub Free, shared with GitHub Packages and Actions artifacts
21. [GitHub Packages (CI runners)](https://fshy.ajam.dev/p/github.md) [`ci-cd-runners/github-packages`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/github-packages): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-11-22. 500 MB of storage and 1 GB of transfer a month on GitHub Free, shared with Actions artifacts
22. [GitLab Container Registry](https://fshy.ajam.dev/p/gitlab.md) [`ci-cd-runners/gitlab-container-registry`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/gitlab-container-registry): qualifies-with-caveat | free tier | email | no card | no phone | documented | stale on 2026-11-22. The registry is excluded from the 10 GiB namespace repository quota; no separate free cap is published
23. [AWS CodeBuild](https://fshy.ajam.dev/p/amazon.md) [`compute/aws-codebuild`](https://fshy.ajam.dev/api/v1/record/compute/aws-codebuild): qualifies-with-caveat | free tier | email? | card? | phone? | reported | stale on 2026-11-19. 100 total build minutes per month on general1.small or arm1.small (on-demand EC2), and 6,000 total build seconds per month on lambda.arm.1GB or...

## Self-hosted, the last resort (3)

Software or a node that the user installs, runs and maintains. Self-hosted options are listed last, because this site is for users who have no hardware.

- [Forgejo and Gitea Actions (self-hosted)](https://fshy.ajam.dev/p/forgejo.md) [`ci-cd-runners/forgejo-gitea-actions`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/forgejo-gitea-actions): self-hosted, last resort | verdict qualifies | free tier | anonymous | no card | no phone | documented | stale on 2026-12-05. MIT for Gitea and GPL for Forgejo, with a GitHub-Actions-compatible workflow syntax; unlimited on your own runners
- [Woodpecker CI (self-hosted)](https://fshy.ajam.dev/p/woodpecker-ci.md) [`ci-cd-runners/woodpecker-selfhost`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/woodpecker-selfhost): self-hosted, last resort | verdict qualifies | anonymous | no card | no phone | documented | stale on 2026-11-22. Apache-2.0 software with no licence fee and no metered quota; the agents run on hardware the operator provides, so the cost is the host
- [Drone CI (CI runners)](https://fshy.ajam.dev/p/drone.md) [`ci-cd-runners/drone-ci`](https://fshy.ajam.dev/api/v1/record/ci-cd-runners/drone-ci): self-hosted, last resort | verdict qualifies-with-caveat | anonymous | no card | no phone | documented | stale on 2026-12-04. Free software, no hosted lane: the Open Source Edition is Apache 2.0 with no licence fee and is built from source, and the Enterprise Edition image is free...
