{"eid":"cirrus-ci","name":"Cirrus CI","domain":"cirrus-ci.com","resolved_by":"domain","topics":["ci-cd-runners","storage"],"n_records":2,"best_vorder":1,"review":null,"aliases":["Cirrus CI","cirrus ci","cirrus-ci.com"],"records":[{"rid":"ci-cd-runners/cirrus-ci","card":{"rid":"ci-cd-runners/cirrus-ci","eid":"cirrus-ci","topic":"ci-cd-runners","slug":"cirrus-ci","provider":"Cirrus CI","url":"https://cirrus-ci.com/","domain":"cirrus-ci.com","category":"CI runner","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"documented","binding":"per-object-cap","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"git,cli","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-22T03:05:00.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-11-22","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"50 compute credits a month on public repositories, equal to 10,000 Linux CPU-minutes or 500 macOS minutes","duplicate_of":null,"n_unknown":0},"record":{"topic":"ci-cd-runners","slug":"cirrus-ci","provider":"Cirrus CI","url":"https://cirrus-ci.com/","category":"CI runner","free_tier":{"stated":"50 compute credits a month on public repositories, equal to 10,000 Linux CPU-minutes or 500 macOS minutes","unit":"requests","source_url":"https://cirrus-ci.org/faq/","read_on":"2026-10-22","metered_on":"wall-clock"},"per_object_cap":{"stated":"a hard 2-hour limit on a free task; 16 CPUs on Linux and 8 CPU per task","bytes":null,"source_url":"https://cirrus-ci.org/faq/"},"retention":{"stated":"credits reset monthly; task artifacts follow the repository configuration","days":null,"source_url":"https://cirrus-ci.org/faq/"},"egress":{"terms":"no charge published","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://cirrus-ci.org/faq/"},"interface":["git","cli"],"interface_detail":"a .cirrus.yml pipeline; GitHub App installation is the onboarding","tooling":"Linux, Windows, macOS and FreeBSD images; any shell","chaining":"FreeBSD and macOS access, which no other free tier here gives at this shape","limits":[{"kind":"per-object-cap","value":"2 hours per free task","source":"https://cirrus-ci.org/faq/"},{"kind":"request-rate","value":"50 credits a month, equal to 10,000 Linux CPU-minutes","source":"https://cirrus-ci.org/faq/"},{"kind":"per-object-cap","value":"16 CPUs on Linux; 8 CPU per task","source":"https://cirrus-ci.org/faq/"}],"binding":"per-object-cap","identity_cost":{"kind":"email","detail":"a GitHub account with the Cirrus app installed","country":null},"reliability_note":"on 2026-10-22 cirrus-ci.org and www.cirrus-ci.com did not resolve, cirrus-ci.com resolved but failed the TLS handshake, and the read broker reported the origin unreachable with a Cloudflare 525; all figures here come from a 2026-04-19 archive capture","confidence":"documented","confidence_note":"the numbers are from the vendor's own FAQ page, but the capture is from 2026-04-19 because the live site could not be reached from here. The reachability failure is measured.","evidence":[{"url":"probe:https://cirrus-ci.org/faq/","date":"2026-10-22","proved":"NXDOMAIN from 1.1.1.1 on 2026-10-22; cirrus-ci.com resolves to 34.117.12.6 but the TLS handshake fails; the read broker returns 502 with a Cloudflare 525 origin-unreachable and the note that it will not forward the platform's error page as if the origin had sent it"},{"url":"https://web.archive.org/web/20260419203508/https://cirrus-ci.org/faq/","date":"2026-10-22","proved":"the 2026-04-19 capture states 50 compute credits a month for public repositories, equal to 10,000 CPU-minutes for Linux tasks or 500 minutes for macOS tasks which always use 4 CPUs; a hard 2-hour limit on free tasks; 16 CPUs on Linux and 8 CPU per task"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-22T03:05:00.000Z","price_per_tb_month":null,"notes":"The vendor's two pages disagree on the credit conversion and the live service is unreachable, so the conversion cannot be settled today. The 2-hour task cap is a number the census did not have and it matters more than the credit count."},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":2.0,"unit":"hours","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:request-rate","num":50.0,"unit":"credits","per":"month","currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[2].value","kind":"limit:per-object-cap","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[],"history":[],"drift":[]},{"rid":"storage/cirrus-ci","card":{"rid":"storage/cirrus-ci","eid":"cirrus-ci","topic":"storage","slug":"cirrus-ci","provider":"cirrus ci","url":"https://api.cirrus-ci.com/v1/task/1/artifacts","domain":"cirrus-ci.com","category":"rejected-provider","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","binding":"none","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":null,"egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"Could not verify: the API host failed TLS negotiation from this environment, and the docs/pricing pages returned no extractable artifact-storage terms. Recor...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"cirrus-ci","provider":"cirrus ci","url":"https://api.cirrus-ci.com/v1/task/1/artifacts","category":"rejected-provider","free_tier":{"stated":"Could not verify: the API host failed TLS negotiation from this environment, and the docs/pricing pages returned no extractable artifact-storage terms. Recorded as unverified rather than gue","unit":"none","metered_on":"none","source_url":"https://api.cirrus-ci.com/v1/task/1/artifacts","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://api.cirrus-ci.com/v1/task/1/artifacts","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://api.cirrus-ci.com/v1/task/1/artifacts","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Could not verify: the API host failed TLS negotiation from this environment, and the docs/pricing pages returned no extractable artifact-storage terms. Recorded as unverified rather than gue","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://api.cirrus-ci.com/v1/task/1/artifacts","date":"2026-10-21","proved":"Could not verify: the API host failed TLS negotiation from this environment, and the docs/pricing pages returned no extractable artifact-storage terms. Recorded as unverified rather than gue"},{"url":"https://cirrus-ci.org/pricing","date":"2026-10-21","proved":"cited as the basis of the rejection: Could not verify: the API host failed TLS negotiation from this environment, and the docs/pricing pages returned no extractable artifact-storage terms. Recorded as unverified rather than gue"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Could not verify: the API host failed TLS negotiation from this environment, and the docs/pricing pages returned no extractable artifact-storage terms. Recorded as unverified rather than gue","extras":{"dead_end":{"failure_class":"quota","why":"Could not verify: the API host failed TLS negotiation from this environment, and the docs/pricing pages returned no extractable artifact-storage terms. Recorded as unverified rather than gue","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"none","binding_note":"no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]}]}