{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": false,
  "fork": false,
  "pause_resume": false,
  "persistent_disk": false,
  "whole_disk": null,
  "persist_scope": null,
  "volumes": false,
  "auto_stop_idle": true,
  "long_sessions": false,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": false,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": true,
  "root": true,
  "systemd": false,
  "browser": true,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": false,
  "browser_control": null,
  "desktop_control": null,
  "browser_and_desktop": false,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": true,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": false,
  "custom_domain": false,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "open_internet": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": true,
  "byoc": false,
  "open_source": true,
  "soc2": true,
  "hipaa": false,
  "sso": true,
  "gpu": true,
  "arm64": true,
  "windows": true,
  "macos": true,
  "lang_python": true,
  "lang_node": true,
  "lang_go": true,
  "lang_rust": null,
  "lang_java": true,
  "gpu_desktop": false,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": false,
  "live_resize": false,
  "fork_running": false,
  "memory_snapshot_fork": false,
  "webhooks": true,
  "scheduled_wakeups": null,
  "audit_logs": true,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": true,
  "mcp_server": true,
  "usage_api": true,
  "snapshot_auto": false,
  "snapshot_on_demand": true,
  "harness_api": true,
  "own_agent_api": false,
  "fast_boot": null,
  "strong_isolation": true,
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": false,
  "secret_proxy_any": false,
  "volume_attach": false,
  "volume_shared": false,
  "sidecar": null,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "github-actions",
  "checked": "2026-09-30",
  "company": "GitHub, Inc. (GitHub Actions)",
  "ownership": {
   "value": "subsidiary",
   "parent": "Microsoft",
   "source": "https://en.wikipedia.org/wiki/GitHub",
   "quote": "GitHub, headquartered in San Francisco, is operated by Github, Inc., a subsidiary of Microsoft since 2018."
  },
  "stage": {
   "value": "subsidiary",
   "source": "https://en.wikipedia.org/wiki/GitHub",
   "quote": "On June 4, 2018, Microsoft announced its intent to acquire GitHub for US$7.5 billion... The deal closed on October 26, 2018.",
   "confidence": "high",
   "note": "GitHub Actions is a feature/product line of GitHub, Inc., which has been a wholly owned subsidiary of Microsoft (a public company) since October 2018. Before acquisition GitHub had raised a Series B round in 2015; that pre-acquisition history is no longer the relevant funding stage for this product."
  },
  "accelerators": [],
  "total_funding_usd": {
   "value": 350000000,
   "status": "confirmed",
   "basis": "Sum of GitHub's disclosed pre-acquisition VC rounds: $100M (2012, a16z) + $250M Series B (2015, led by Sequoia Capital). GitHub was then acquired outright by Microsoft in 2018, ending independent fundraising.",
   "source": "https://en.wikipedia.org/wiki/GitHub",
   "quote": "In July 2012... Andreessen Horowitz invested $100 million in venture capital with a $750 million valuation. In July 2015 GitHub raised another $250 million... in a series B round. The lead investor was Sequoia Capital..."
  },
  "last_round": {
   "type": "acquisition",
   "amount_usd": 7500000000,
   "date": "2018-10",
   "leads": [
    "Microsoft"
   ],
   "status": "confirmed",
   "source": "https://en.wikipedia.org/wiki/GitHub",
   "quote": "Microsoft announced its intent to acquire GitHub for US$7.5 billion (~$9.2 billion in 2024). The deal closed on October 26, 2018."
  },
  "investors": [
   "Microsoft (acquirer)",
   "Sequoia Capital",
   "Andreessen Horowitz",
   "Thrive Capital",
   "IVP (Institutional Venture Partners)"
  ],
  "portfolio_listings": [],
  "revenue": {
   "value_usd": 1000000000,
   "kind": "ARR",
   "as_of": "2022-10",
   "status": "confirmed",
   "basis": "Microsoft-disclosed figure for GitHub as a whole (not GitHub Actions specifically), reported by TechCrunch.",
   "source": "https://techcrunch.com/2022/10/25/microsoft-says-github-now-has-a-1b-arr-90m-active-users/",
   "quote": "Microsoft says GitHub now has a $1B ARR, 90M active users"
  },
  "employees": {
   "value": 3787,
   "source": "https://en.wikipedia.org/wiki/GitHub"
  },
  "note": "GitHub Actions is a CI/CD feature of GitHub, which has been a wholly owned subsidiary of Microsoft since October 2018 ($7.5B acquisition). Not independently funded or reporting revenue; figures above are for GitHub as a whole, not GitHub Actions specifically. Revenue for parent Microsoft is reported in its 10-K but does not break out GitHub or GitHub Actions."
 },
 "id": "github-actions",
 "name": "GitHub Actions hosted runners",
 "url": "https://docs.github.com/en/billing/reference/actions-runner-pricing",
 "category": "macos",
 "isolation": "vm",
 "modes": [
  {
   "key": "on-demand",
   "label": "macOS runners, per minute",
   "flags": [],
   "os": [
    "macos"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "macOS 3-core M1 (standard, 7 GB)",
     "vcpu": 3,
     "ram_gib": 7,
     "disk_gib": 14,
     "hour": 3.72,
     "month_cap": null,
     "per_minute_usd": 0.062
    },
    {
     "name": "macOS 5-core M2 Pro (xlarge, 14 GB)",
     "vcpu": 5,
     "ram_gib": 14,
     "disk_gib": 14,
     "hour": 6.12,
     "month_cap": null,
     "per_minute_usd": 0.102
    },
    {
     "name": "macOS 12-core Intel (large, 30 GB)",
     "vcpu": 12,
     "ram_gib": 30,
     "disk_gib": 14,
     "hour": 4.62,
     "month_cap": null,
     "per_minute_usd": 0.077
    },
    {
     "name": "macOS 4-core Intel (standard, 14 GB)",
     "vcpu": 4,
     "ram_gib": 14,
     "disk_gib": 14,
     "hour": 3.72,
     "month_cap": null,
     "per_minute_usd": 0.062
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Official runner pricing reference. GitHub rounds each job's minutes up to the whole minute. Larger runners (12-core, 5-core M2 Pro) are always billed, even with plan quota or on public repos. Verified 2026-09-28: Intel 12-core large (macos-14/15/26-large, 12 cores / 30 GB, $0.077/min) is still a current label, not deprecated; M2 Pro xlarge (5 cores / 14 GB, $0.102/min) is the M-series larger runner. No M4 larger runner is listed.",
   "max_session_h": 6,
   "product_class": "ci-runner",
   "features": {
    "nested_virt": false
   }
  },
  {
   "key": "linux",
   "label": "Linux x64 standard runner (2-core), per minute",
   "flags": [],
   "os": [
    "linux"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "Linux 2-core standard (actions_linux)",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": 14,
     "hour": 0.36,
     "month_cap": null
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "features": {},
   "note": "CI runner. Added 2026-09-28 (missing-providers audit). https://docs.github.com/en/billing/reference/actions-runner-pricing: actions_linux 2-core $0.006/min (1-core slim $0.002/min is a container-only runner, not encoded). Plan included minutes apply to this SKU only. Jobs capped at 6 h. Private-repo standard runner 2 cores / 8 GB / 14 GB SSD (https://docs.github.com/en/actions/reference/runners/github-hosted-runners).",
   "product_class": "ci-runner"
  },
  {
   "key": "windows",
   "label": "Windows x64 runners, per minute",
   "flags": [],
   "os": [
    "windows"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "Windows 2-core (standard)",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": 14,
     "hour": 0.6,
     "month_cap": null,
     "per_minute_usd": 0.01
    },
    {
     "name": "Windows 4-core (larger)",
     "vcpu": 4,
     "ram_gib": 16,
     "disk_gib": 150,
     "hour": 1.32,
     "month_cap": null,
     "per_minute_usd": 0.022
    },
    {
     "name": "Windows 8-core",
     "vcpu": 8,
     "ram_gib": 32,
     "disk_gib": null,
     "hour": 2.52,
     "month_cap": null,
     "per_minute_usd": 0.042
    },
    {
     "name": "Windows 16-core",
     "vcpu": 16,
     "ram_gib": 64,
     "disk_gib": null,
     "hour": 4.92,
     "month_cap": null,
     "per_minute_usd": 0.082
    },
    {
     "name": "Windows 32-core",
     "vcpu": 32,
     "ram_gib": 128,
     "disk_gib": null,
     "hour": 9.72,
     "month_cap": null,
     "per_minute_usd": 0.162
    },
    {
     "name": "Windows 64-core",
     "vcpu": 64,
     "ram_gib": 256,
     "disk_gib": null,
     "hour": 19.32,
     "month_cap": null,
     "per_minute_usd": 0.322
    },
    {
     "name": "Windows 96-core",
     "vcpu": 96,
     "ram_gib": 384,
     "disk_gib": null,
     "hour": 33.12,
     "month_cap": null,
     "per_minute_usd": 0.552
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Official runner pricing reference. Larger-runner RAM assumed 4 GB/core (not on the pricing page). Windows arm64 larger runners ($0.008-0.194/min, 2-64 cores) and Windows GPU 4-core ($0.102/min) not encoded.",
   "product_class": "ci-runner"
  },
  {
   "key": "linux-larger",
   "label": "Linux x64 larger runners, per minute",
   "flags": [],
   "os": [
    "linux"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "Linux 4-core",
     "vcpu": 4,
     "ram_gib": 16,
     "disk_gib": 150,
     "hour": 0.72,
     "month_cap": null
    },
    {
     "name": "Linux 8-core",
     "vcpu": 8,
     "ram_gib": 32,
     "disk_gib": 300,
     "hour": 1.32,
     "month_cap": null
    },
    {
     "name": "Linux 16-core",
     "vcpu": 16,
     "ram_gib": 64,
     "disk_gib": 600,
     "hour": 2.52,
     "month_cap": null
    },
    {
     "name": "Linux 32-core",
     "vcpu": 32,
     "ram_gib": 128,
     "disk_gib": 1200,
     "hour": 4.92,
     "month_cap": null
    },
    {
     "name": "Linux 64-core",
     "vcpu": 64,
     "ram_gib": 256,
     "disk_gib": 2040,
     "hour": 9.72,
     "month_cap": null
    },
    {
     "name": "Linux 96-core",
     "vcpu": 96,
     "ram_gib": 384,
     "disk_gib": 2040,
     "hour": 15.12,
     "month_cap": null
    },
    {
     "name": "Linux Advanced 2-core (x64)",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": 75,
     "hour": 0.36,
     "month_cap": null,
     "per_minute_usd": 0.006
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "features": {},
   "note": "CI runner. Added 2026-09-28 (missing-providers audit). https://docs.github.com/en/billing/reference/actions-runner-pricing: 4-core $0.012/min, 8 $0.022, 16 $0.042, 32 $0.082, 64 $0.162, 96 $0.252. \"Included minutes cannot be used for larger runners.\" RAM 4 GB/core and disk sizes carried over from the previous card (not on the pricing page). Requires Team or Enterprise plan.",
   "plans": [
    "Team",
    "Enterprise Cloud"
   ],
   "product_class": "ci-runner"
  },
  {
   "key": "linux-arm64",
   "label": "Linux arm64 standard runner (2-core), per minute",
   "flags": [],
   "os": [
    "linux"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "Linux arm64 2-core",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": null,
     "hour": 0.3,
     "month_cap": null
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "features": {
    "arm64": true
   },
   "note": "CI runner. Added 2026-09-28 (missing-providers audit). https://docs.github.com/en/billing/reference/actions-runner-pricing: arm64 2-core $0.005/min (standard actions_linux_arm and linux_2_core_arm; private-repo standard arm runner 2 cores / 8 GB), 4 $0.008, 8 $0.014, 16 $0.026, 32 $0.050, 64 $0.098. RAM per size not on the pricing page: 4 GB/core assumed (caveat). Included minutes not applied (only the 2-core standard arm runner draws them for public/free use; not modelled).",
   "product_class": "ci-runner"
  },
  {
   "key": "linux-arm64-larger",
   "label": "Linux arm64 larger runners, per minute",
   "flags": [],
   "os": [
    "linux"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "Linux arm64 4-core",
     "vcpu": 4,
     "ram_gib": 16,
     "disk_gib": 150,
     "hour": 0.48,
     "month_cap": null
    },
    {
     "name": "Linux arm64 8-core",
     "vcpu": 8,
     "ram_gib": 32,
     "disk_gib": 300,
     "hour": 0.84,
     "month_cap": null
    },
    {
     "name": "Linux arm64 16-core",
     "vcpu": 16,
     "ram_gib": 64,
     "disk_gib": 600,
     "hour": 1.56,
     "month_cap": null
    },
    {
     "name": "Linux arm64 32-core",
     "vcpu": 32,
     "ram_gib": 128,
     "disk_gib": 1200,
     "hour": 3,
     "month_cap": null
    },
    {
     "name": "Linux arm64 64-core",
     "vcpu": 64,
     "ram_gib": 208,
     "disk_gib": 2040,
     "hour": 5.88,
     "month_cap": null
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "features": {
    "arm64": true
   },
   "note": "CI runner. Added 2026-09-28 (missing-providers audit). https://docs.github.com/en/billing/reference/actions-runner-pricing: arm64 2-core $0.005/min (standard actions_linux_arm and linux_2_core_arm; private-repo standard arm runner 2 cores / 8 GB), 4 $0.008, 8 $0.014, 16 $0.026, 32 $0.050, 64 $0.098. RAM per size from docs.github.com/en/actions/reference/runners/larger-runners (2026-09-28): 4-core 16 GB, 8 32, 16 64, 32 128, 64 208. Included minutes not applied (only the 2-core standard arm runner draws them for public/free use; not modelled). Larger runners restricted to Team / Enterprise Cloud like the x64 larger runners.",
   "product_class": "ci-runner",
   "plans": [
    "Team",
    "Enterprise Cloud"
   ]
  },
  {
   "key": "gpu",
   "label": "GPU larger runners (T4), per minute",
   "flags": [],
   "os": [
    "linux",
    "windows"
   ],
   "pricing": "sizes",
   "gpu_only": true,
   "sizes": [
    {
     "name": "Linux 4-core + 1x T4 (28 GB, 176 GB SSD)",
     "vcpu": 4,
     "ram_gib": 28,
     "disk_gib": 176,
     "hour": 3.12,
     "month_cap": null,
     "per_minute_usd": 0.052,
     "gpu": "T4"
    },
    {
     "name": "Windows 4-core + 1x T4 (28 GB, 176 GB SSD)",
     "vcpu": 4,
     "ram_gib": 28,
     "disk_gib": 176,
     "hour": 6.12,
     "month_cap": null,
     "per_minute_usd": 0.102,
     "gpu": "T4",
     "os": "windows"
    }
   ],
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "plans": [
    "Team",
    "Enterprise Cloud"
   ],
   "product_class": "ci-runner",
   "note": "Max 100 concurrent GPU jobs (Team/Enterprise). Included minutes never apply."
  },
  {
   "key": "windows-arm64",
   "label": "Windows arm64 runners, per minute",
   "flags": [],
   "os": [
    "windows"
   ],
   "pricing": "sizes",
   "features": {
    "arm64": true
   },
   "sizes": [
    {
     "name": "Windows arm64 2-core (standard, 8 GB)",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": 14,
     "hour": 0.6,
     "per_minute_usd": 0.01
    },
    {
     "name": "Windows arm64 2-core (larger, 8 GB)",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": 75,
     "hour": 0.48,
     "per_minute_usd": 0.008
    },
    {
     "name": "Windows arm64 4-core",
     "vcpu": 4,
     "ram_gib": 16,
     "disk_gib": 150,
     "hour": 0.84,
     "per_minute_usd": 0.014
    },
    {
     "name": "Windows arm64 8-core",
     "vcpu": 8,
     "ram_gib": 32,
     "disk_gib": 300,
     "hour": 1.56,
     "per_minute_usd": 0.026
    },
    {
     "name": "Windows arm64 16-core",
     "vcpu": 16,
     "ram_gib": 64,
     "disk_gib": 600,
     "hour": 3,
     "per_minute_usd": 0.05
    },
    {
     "name": "Windows arm64 32-core",
     "vcpu": 32,
     "ram_gib": 128,
     "disk_gib": 1200,
     "hour": 5.88,
     "per_minute_usd": 0.098
    },
    {
     "name": "Windows arm64 64-core",
     "vcpu": 64,
     "ram_gib": 208,
     "disk_gib": 2040,
     "hour": 11.64,
     "per_minute_usd": 0.194
    }
   ],
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "product_class": "ci-runner",
   "note": "Larger sizes (all but the standard 2-core) require Team/Enterprise Cloud and never draw included minutes. Split into standard + larger modes if the engine needs per-mode plan gating. Windows 2-core larger RAM/disk (8 GB/75 GB) from the general larger-runner table (2-core row lists Ubuntu only; Windows 2-core arm spec inferred, low confidence)."
  }
 ],
 "storage": {
  "included_disk_gib": 14,
  "disk_gib_month": null,
  "disk_billed_when_stopped": false,
  "snapshot_gib_month": null,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": 0,
  "ipv4_month": null,
  "ipv4_available": false,
  "internet": {
   "default": "full"
  }
 },
 "plans": [
  {
   "name": "Free",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 12,
   "per_seat": 0,
   "waives_start_fee": false,
   "included_applies_to_modes": [
    "linux",
    "linux-arm64"
   ],
   "concurrency": 20,
   "max_session_h": 6,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "2,000 minutes/month (https://docs.github.com/en/billing/concepts/product-billing/github-actions) = $12 at the 2-core Linux $0.006/min; included minutes only apply to standard runners, encoded for the Linux standard mode only."
  },
  {
   "name": "Team",
   "fee": 4,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 18,
   "per_seat": 4,
   "waives_start_fee": false,
   "included_applies_to_modes": [
    "linux",
    "linux-arm64"
   ],
   "concurrency": 60,
   "max_session_h": 6,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "$4/user/month (github.com/pricing: \"first 12 months\" - intro price); 3,000 minutes/month = $18 on Linux standard. Larger runners available."
  },
  {
   "name": "Enterprise Cloud",
   "fee": 21,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 300,
   "per_seat": 21,
   "waives_start_fee": false,
   "included_applies_to_modes": [
    "linux",
    "linux-arm64"
   ],
   "concurrency": 500,
   "max_session_h": 6,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "$21/user/month (\"first 12 months\" per github.com/pricing); 50,000 minutes/month = $300 on Linux standard."
  },
  {
   "name": "Pro",
   "fee": null,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 18,
   "per_seat": 0,
   "waives_start_fee": false,
   "included_applies_to_modes": [
    "linux",
    "linux-arm64"
   ],
   "concurrency": 40,
   "max_session_h": 6,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Personal accounts only; 3,000 minutes/month ($18 at Linux list), 40 concurrent standard jobs (macOS 5). Fee not shown on github.com/pricing (2026-09-29) so null (never auto-picked). No larger runners."
  }
 ],
 "free": {
  "monthly_credit": 0,
  "one_time_credit": 0
 },
 "features": {
  "linux": true,
  "windows": true,
  "macos": true,
  "arm64": true,
  "gpu": true,
  "gpu_types": [
   "T4"
  ],
  "snapshot": "fs",
  "pause_resume": false,
  "fork": false,
  "persistent_disk": false,
  "volumes": false,
  "auto_stop_idle": true,
  "max_session_h": 6,
  "custom_image": true,
  "docker_inside": true,
  "nested_virt": true,
  "root": true,
  "systemd": false,
  "browser": true,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": false,
  "agent_harnesses": true,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": false,
  "custom_domain": false,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": true,
  "byoc": false,
  "open_source": true,
  "regions": [
   "other",
   "us",
   "asia",
   "eu"
  ],
  "soc2": true,
  "hipaa": false,
  "sso": true,
  "lang_python": true,
  "lang_node": true,
  "lang_go": true,
  "lang_rust": null,
  "lang_java": true,
  "gpu_desktop": false,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": false,
  "live_resize": false,
  "fork_running": false,
  "memory_snapshot_fork": false,
  "webhooks": true,
  "scheduled_wakeups": null,
  "audit_logs": true,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": true,
  "mcp_server": true,
  "snapshot_auto": false,
  "snapshot_on_demand": true,
  "harness_api": true,
  "egress_allowlist_level": "ip",
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": false,
  "volume_attach": false,
  "volume_shared": false,
  "isolation": "hyper-v",
  "image_oci": false,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "own_agent_api": false,
  "open_internet": true,
  "usage_api": true
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "knobs": [],
 "caveats": [
  "Only usable as workflow jobs in GitHub repos; ToS ties use to repository CI. Standard runners are free for public repos.",
  "Standard job timeout 6 h. Per-job rounding up to the next minute.",
  "Self-hosted runners: the billing page says usage is free (no platform fee).",
  "macOS minimum is effectively 1 minute: GitHub is the lessor running 'Permitted Developer Services' on its own fleet.",
  "Linux CI runner modes are CI-minute products (jobs ≤6 h, ephemeral), not interactive sandboxes; the engine treats product class per preset.",
  "Plan fees ($4 Pro/Team per user, $21 Enterprise per user) are GitHub list prices from github.com/pricing as previously recorded; Pro is for personal accounts.",
  "macOS/Windows modes: included minutes not applied (draw-down rules not stated on the current billing page).",
  "Team $4/user and Enterprise $21/user are shown on github.com/pricing as first-12-months prices (2026-09-28); the later price is not shown. Personal Pro plan not encoded.",
  "Overage: without a payment method usage is blocked once included minutes are used; larger runners are always blocked until a payment method exists and the Actions budget must be > $0. With a card on file, overage is on unless a budget with 'Stop usage when budget limit is reached' is set.",
  "Copilot code review consumes Actions minutes on private repos since 2026-06-01, competing for included minutes.",
  "Plan included minutes apply to all standard runners (Linux x64/arm64 2-core, Windows 2-core, macOS standard), drawn down at list price, never to larger or GPU runners. The card applies them to the linux and linux-arm64 standard modes only, because the windows and macOS modes mix standard and larger sizes.",
  "Copilot cloud agent and third-party coding agents (Claude, Codex) run on Actions runners and draw from the same budget: \"Coding agents consume GitHub Actions minutes and AI credits.\" (about-third-party-coding-agents, 2026-10-14). AI credits are not modelled."
 ],
 "sources": [
  "https://docs.github.com/en/billing/reference/actions-runner-pricing",
  "https://docs.github.com/en/billing/concepts/product-billing/github-actions",
  "https://docs.github.com/en/copilot/concepts/agents/coding-agent/about-coding-agent",
  "https://github.blog/changelog/2025-12-16-coming-soon-simpler-pricing-and-a-better-experience-for-github-actions/",
  "https://github.com/pricing",
  "https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-environment",
  "https://docs.github.com/en/copilot/concepts/agents/about-third-party-coding-agents"
 ],
 "fleet": {
  "default_max_instances": 20,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "ticket",
  "raise_time_days": null,
  "verification": null,
  "tiers": "Standard hosted jobs: Free 20, Pro 40, Team 60, Enterprise 500; macOS sublimit 5 on Free/Pro/Team. Larger runners have separate limits.",
  "notes": "Jobs, not persistent machines. Paid plan upgrade increases included concurrency; further increases require GitHub Support. Usage minutes/budgets and runner-type eligibility also apply. Start/queue limits: workflow trigger events 1,500 / 10 s / repository; 500 workflow runs queued / 10 s; 256 jobs per matrix; 50 re-runs per run; larger-runner concurrency normally max 1,000 per runner for Linux CPU; 10 static-IP pools. ubuntu-slim (1-core container, $0.002/min) jobs capped at 15 minutes.",
  "sources": [
   "https://docs.github.com/en/enterprise-cloud%40latest/actions/reference/limits"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 13,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 8
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "Each workflow run executes in a fresh, newly-provisioned virtual machine.",
   "note": "Ephemeral per-job VMs (ubuntu-slim containers are 'automatically decommissioned' after the job); nothing is saved at job end unless the job opts into the `snapshot` keyword (see snapshot_on_demand). actions/cache and artifacts are separate storage, not machine state.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://docs.github.com/en/actions/how-tos/manage-runners/larger-runners/use-custom-images",
   "quote": "After you create an image-generation runner, run a workflow that includes the `snapshot` keyword to generate a custom image.",
   "note": "Larger runners only (Linux x64/ARM64, Windows x64), on an image-generation runner; the disk image is captured when the job completes successfully (not at an arbitrary moment, no memory). New larger runners boot from the resulting versioned custom image. Storage billed as Actions storage.",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": true,
   "source": "https://docs.github.com/en/rest/agent-tasks/agent-tasks",
   "quote": "Use the REST API to start and manage Copilot cloud agent tasks",
   "note": "Public preview REST API (\"This endpoint is in public preview and is subject to change.\"): POST /agents/repos/{owner}/{repo}/tasks with `prompt`, model (incl. Claude/GPT-Codex models) and custom_agent; list/get tasks and their sessions. Runtime: https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-environment says \"By default, Copilot works in a standard GitHub Actions runner.\" and it can also use larger or self-hosted runners (\"only compatible with Ubuntu x64 and Windows 64-bit runners\"); the about-coding-agent page now only says \"an ephemeral cloud development environment, rather than your local IDE\" and no longer names Actions. Follow-ups via PR comments/Copilot Chat; also gh CLI. Third-party Anthropic Claude and OpenAI Codex agents (public preview) are started from the Agents tab, issues, PR @mentions, GitHub Mobile and VS Code, not documented on this REST API. It drives GitHub's managed agent on Actions infra, not a harness in an arbitrary runner job you define.",
   "checked": "2026-10-14"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://docs.github.com/en/organizations/managing-organization-settings/about-azure-private-networking-for-github-hosted-runners-in-your-organization",
   "quote": "any outbound rules applied to your VNET's network security group (NSG) also apply, giving you the ability to control outbound access for your runners.",
   "note": "Only larger runners (2-64 vCPU Ubuntu/Windows) injected into your own Azure VNET; controls are your Azure NSG / network (customer-managed Azure, enforced outside the VM). Standard runners: open internet, only an /etc/hosts block of mining pools. The Copilot cloud agent has a domain/URL allowlist firewall, but GitHub says it 'only applies to processes started by the agent' and may be bypassed, so it is not a provider-side control.",
   "checked": "2026-09-29",
   "level": "ip"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://docs.github.com/en/organizations/managing-organization-settings/about-azure-private-networking-for-github-hosted-runners-in-your-organization",
   "quote": "It is recommended to explicitly block all inbound connections to the runners. GitHub will never require inbound connections to these machines.",
   "note": "Standard hosted runners expose no inbound ports at all (no public URL/IP ingress). With Azure VNET private networking, inbound is governed by your NSG ('GitHub cannot block inbound connections'; AllowVNetInBound by default).",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": true,
   "source": "https://docs.github.com/en/actions/reference/runners/github-hosted-runners",
   "quote": "The Linux and macOS virtual machines both run using passwordless `sudo`.",
   "note": "Full Azure VMs with root via sudo (Windows: admin, UAC off). Not for ubuntu-slim, which runs in an unprivileged container.",
   "checked": "2026-09-29",
   "derived": true
  },
  "secret_proxy": {
   "value": false,
   "source": "https://docs.github.com/en/actions/concepts/security/secrets",
   "quote": "To make a secret available to an action, you must set the secret as an input or environment variable in your workflow file.",
   "note": "Actions secrets enter the runner as inputs/env vars and are only redacted from logs. OIDC federation issues short-lived cloud tokens to the job (still inside the VM). No credential-injecting proxy.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "Each workflow run executes in a fresh, newly-provisioned virtual machine.",
   "note": "No attachable persistent volumes for hosted runners; fixed SSD per size. Persistence only via actions/cache, artifacts, or custom images.",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "Each workflow run executes in a fresh, newly-provisioned virtual machine.",
   "note": "No shared-volume-across-concurrent-runners feature documented; each runner VM is independent and isolated. Jobs only share data via artifacts/cache/external storage.",
   "checked": "2026-09-30"
  },
  "isolation": {
   "value": "hyper-v",
   "source": "https://docs.github.com/en/actions/reference/runners/github-hosted-runners",
   "quote": "each GitHub-hosted runner is a new virtual machine (VM) hosted by GitHub ... Windows and Ubuntu runners are hosted in Azure",
   "note": "Standard/larger runners are full per-job Azure VMs (Windows/Ubuntu run on Azure IP ranges; macOS on GitHub's own macOS fleet using Apple's Virtualization Framework). Azure's default hypervisor is Hyper-V; docs don't name the hypervisor explicitly, so this is derived. ubuntu-slim single-CPU runners instead use a shared-VM container ('hypervisor level 2 isolation').",
   "checked": "2026-09-30"
  },
  "image_oci": {
   "value": false,
   "source": "https://docs.github.com/en/actions/how-tos/manage-runners/larger-runners/use-custom-images",
   "quote": "You can create a custom image to define the exact environment that your GitHub-hosted larger runners use.",
   "note": "Custom images are whole-VM images built via an image-generation runner + the `snapshot` workflow keyword (Packer-style), not OCI/Docker images the runner boots from. docker_inside (running containers inside the VM) is separately true, but the machine itself never starts from a customer-supplied OCI image.",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline.",
   "note": "not offered: outside the product's scope",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline.",
   "note": "not offered: outside the product's scope",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "datacenter",
   "source": "https://docs.github.com/en/actions/reference/runners/github-hosted-runners",
   "quote": "Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters.",
   "note": "macOS runners are hosted in GitHub's own macOS cloud (also datacenter-class, not residential/mobile).",
   "checked": "2026-09-30"
  },
  "wake_on_request": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "Each workflow run executes in a fresh, newly-provisioned virtual machine.",
   "note": "not offered: outside the product's scope — there is no persistent/sleeping sandbox to wake; every job gets a brand-new ephemeral VM provisioned on trigger, which is a different mechanism than resuming a stopped machine.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://docs.github.com/en/actions/reference/runners/github-hosted-runners",
   "quote": "For private repositories, jobs using the workflow labels shown in the table below will run on virtual machines with the associated specifications.",
   "note": "CPU/RAM size is fixed per workflow label chosen at job start; no documented API to change vCPU/RAM of a running runner. not offered: outside the product's scope",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://docs.github.com/en/rest/agent-tasks/agent-tasks",
   "quote": "Use the REST API to start and manage Copilot cloud agent tasks",
   "note": "not offered: outside the product's scope — GitHub's own agent API drives the Copilot coding agent (a coding harness, already captured as harness_api), not a browser/computer-use/research task agent.",
   "checked": "2026-09-30"
  },
  "mcp_server": {
   "value": true,
   "source": "https://raw.githubusercontent.com/github/github-mcp-server/main/README.md",
   "quote": "CI/CD & Workflow Intelligence: Monitor GitHub Actions workflow runs, analyze build failures, manage releases, and get insights into your development pipeline.",
   "note": "GitHub's official github-mcp-server (also served at https://api.githubcopilot.com/mcp/) lets an MCP client trigger/monitor Actions workflow runs, i.e. control the CI-runner sandboxes, alongside its broader repo/issue/PR tooling.",
   "checked": "2026-09-30"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://docs.github.com/en/organizations/managing-organization-settings/about-azure-private-networking-for-github-hosted-runners-in-your-organization",
   "quote": "any outbound rules applied to your VNET's network security group (NSG) also apply, giving you the ability to control outbound access for your runners.",
   "note": "Egress control is IP/network-security-group level (Azure NSG for VNET-injected larger runners, or an /etc/hosts block for standard runners), not HTTP method/path level.",
   "checked": "2026-09-30"
  },
  "hipaa": {
   "value": false,
   "source": "https://docs.github.com/en/enterprise-cloud@latest/admin/overview/accessing-compliance-reports-for-your-enterprise",
   "quote": "You can access GitHub's compliance reports in your enterprise settings. SOC 1, Type 2 SOC 2, Type 2 Cloud Security Alliance CAIQ self-assessment (CSA CAIQ - Level 1) ISO/IEC 27001:2022 certification Cloud Security Alliance STAR certification (CSA STAR - Level 2) ... GitHub PCI DSS Attestation of Compliance",
   "note": "GitHub's published compliance-report list (SOC 1/2, ISO 27001, CSA STAR, PCI DSS) does not include HIPAA/BAA; no GitHub page offers a BAA for github.com or GitHub Actions.",
   "checked": "2026-09-30"
  },
  "snapshot": {
   "value": "fs",
   "corrected_from": "none",
   "source": "https://docs.github.com/en/actions/how-tos/manage-runners/larger-runners/use-custom-images",
   "quote": "After you create an image-generation runner, run a workflow that includes the `snapshot` keyword to generate a custom image.",
   "note": "Contradiction confirmed: the card already records snapshot_on_demand=true (disk-image snapshot via the `snapshot` workflow keyword, larger runners only, no memory captured) yet the enum field `snapshot` was set to \"none\". Correct value per the fs/mem/none enum is \"fs\" (disk-only, on-demand, no running-process/memory restore).",
   "checked": "2026-09-30"
  },
  "persistent_disk": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "Each workflow run executes in a fresh, newly-provisioned virtual machine.",
   "note": "No first-party way for a hosted-runner job's disk to survive between runs; only actions/cache, artifacts, or custom images (separate storage products) persist data, not the runner's own filesystem.",
   "checked": "2026-09-30"
  },
  "pause_resume": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "Each workflow run executes in a fresh, newly-provisioned virtual machine.",
   "note": "No pause/resume API or concept documented anywhere for hosted runners; a job runs to completion, cancellation, or timeout and the VM is torn down. Derived from the always-fresh/ephemeral model since no page states 'no pause' explicitly.",
   "checked": "2026-09-30"
  },
  "fork": {
   "value": false,
   "source": "https://docs.github.com/en/actions/how-tos/manage-runners/larger-runners/use-custom-images",
   "quote": "After you create an image-generation runner, run a workflow that includes the `snapshot` keyword to generate a custom image.",
   "note": "Custom images are a boot template for future NEW runners, not cloning a specific machine's current state into siblings; no clone/fork-a-machine API exists for hosted runners.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "Each workflow run executes in a fresh, newly-provisioned virtual machine.",
   "note": "No documented capability to clone a live/running runner VM without stopping it.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://docs.github.com/en/actions/how-tos/manage-runners/larger-runners/use-custom-images",
   "quote": "After you create an image-generation runner, run a workflow that includes the `snapshot` keyword to generate a custom image.",
   "note": "The only snapshot mechanism is a disk-only custom-image capture at job completion; it explicitly carries no memory/process state, so memory-snapshot forking is not offered.",
   "checked": "2026-09-30"
  },
  "ssh": {
   "value": false,
   "source": "https://docs.github.com/en/organizations/managing-organization-settings/about-azure-private-networking-for-github-hosted-runners-in-your-organization",
   "quote": "It is recommended to explicitly block all inbound connections to the runners. GitHub will never require inbound connections to these machines.",
   "note": "No official SSH-into-runner feature is documented anywhere (only unofficial third-party marketplace actions like action-tmate exist, not first-party). Hosted runners accept no inbound connections at all, which precludes first-party SSH.",
   "checked": "2026-09-30"
  },
  "desktop": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline.",
   "note": "Hosted runners are headless CI/CD job VMs; no VNC/RDP/stream desktop product is offered or documented (outside product scope), medium confidence per rules for a plainly out-of-scope feature.",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline.",
   "note": "No screenshot+click desktop-driving API; plainly outside the CI/CD runner product's scope, medium confidence.",
   "checked": "2026-09-30"
  },
  "volumes": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "Each workflow run executes in a fresh, newly-provisioned virtual machine.",
   "note": "Matches the card's existing volume_attach evidence: no attachable extra persistent volumes for hosted runners, only the fixed local SSD per size.",
   "checked": "2026-09-30"
  },
  "inbound_https": {
   "value": false,
   "source": "https://docs.github.com/en/organizations/managing-organization-settings/about-azure-private-networking-for-github-hosted-runners-in-your-organization",
   "quote": "It is recommended to explicitly block all inbound connections to the runners. GitHub will never require inbound connections to these machines.",
   "note": "No first-party public URL / HTTPS ingress to a runner's ports; standard runners have no way to expose an inbound HTTPS endpoint.",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://docs.github.com/en/actions/reference/runners/github-hosted-runners",
   "quote": "Since there are so many IP address ranges for GitHub-hosted runners, we do not recommend that you use these as allowlists for your internal resources. Instead, we recommend you use larger runners with a static IP address range, or self-hosted runners.",
   "note": "Standard hosted runners draw from large shared Azure/GitHub IP ranges (no dedicated public IPv4 per machine, no inbound use of it); only larger runners offer a fixed IP range, and that is for outbound allowlisting, not an inbound-usable public IPv4.",
   "checked": "2026-09-30"
  },
  "agent_harnesses": {
   "value": true,
   "corrected_from": false,
   "source": "https://docs.github.com/en/copilot/concepts/agents/about-third-party-coding-agents",
   "quote": "You can use third-party coding agents alongside Copilot cloud agent to work asynchronously on your development tasks. You can assign an existing issue or give a prompt to an agent, which will work on the required changes and create a pull request.",
   "note": "GitHub offers Anthropic Claude and OpenAI Codex as selectable third-party coding agents (\"Third-party coding agents are currently in public preview.\"), started from the Agents tab, issues, PR mentions, GitHub Mobile and VS Code. They run on Actions: the same page says \"Coding agents consume GitHub Actions minutes and AI credits.\", and https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-environment says \"By default, Copilot works in a standard GitHub Actions runner.\" This matches 'coding agents ... offered as templates'. Corrects the false value.",
   "checked": "2026-10-14"
  },
  "self_host": {
   "value": true,
   "corrected_from": false,
   "source": "https://docs.github.com/en/actions/concepts/runners/self-hosted-runners",
   "quote": "A self-hosted runner is a system that you deploy and manage to execute jobs from GitHub Actions on GitHub. ... Can be physical, virtual, in a container, on-premises, or in a cloud.",
   "note": "GitHub Actions has a first-party, officially documented self-hosted runner mode: you run the (open-source) runner agent on your own infrastructure and it executes your workflow jobs. Corrects the false value.",
   "checked": "2026-09-30"
  },
  "byoc": {
   "value": false,
   "source": "https://docs.github.com/en/actions/get-started/understand-github-actions",
   "quote": "GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline.",
   "note": "GitHub does not deploy a managed Actions control plane into a customer's own cloud account; self-hosted runners are the user's own machines attaching outward to github.com, which is a different model from BYOC. No page offers a BYOC deployment of GitHub Actions itself; medium confidence (derived, no explicit 'no BYOC' statement).",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": true,
   "corrected_from": false,
   "source": "https://github.com/actions/runner",
   "quote": "license: MIT (from api.github.com/repos/actions/runner); LICENSE file: \"The MIT License (MIT) Copyright (c) 2019 GitHub\"",
   "note": "The GitHub Actions runner agent (actions/runner, and actions/runner-images defining the hosted VM images) is open source under the MIT license on GitHub. The cloud orchestration/backend is closed, but the core client software that executes jobs - the part users actually deploy/self-host - is OSI-licensed open source. Corrects the false value.",
   "checked": "2026-09-30"
  },
  "usage_api": {
   "value": true,
   "source": "https://docs.github.com/en/rest/billing/usage",
   "quote": "Gets a report of the total usage for an organization. Endpoint returns usageItems with product, sku, quantity, unitType (minutes), pricePerUnit, grossAmount, netAmount, organizationName, repositoryName. Can filter by repository, product, year, month, day.",
   "note": "granularity: per-repository; cost: yes; The endpoint GET /organizations/{org}/settings/billing/usage returns Actions usage in minutes (e.g., Actions Linux) with cost breakdown per repository and date. Granularity is per-repository, not per individual job/sandbox; each job's minutes contribute to the repository's total.",
   "confidence": "high",
   "checked": "2026-10-01"
  }
 },
 "locations": [
  {
   "country": "AU",
   "state": null,
   "city": "Sydney",
   "provider_region": "AustraliaEast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "BR",
   "state": null,
   "city": "São Paulo",
   "provider_region": "BrazilSouth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CA",
   "state": "ON",
   "city": "Toronto",
   "provider_region": "CanadaCentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CA",
   "state": "QC",
   "city": "Quebec City",
   "provider_region": "CanadaEast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "IA",
   "city": "Des Moines",
   "provider_region": "CentralUs",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SG",
   "state": null,
   "city": "Singapore",
   "provider_region": "EastAsia",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "VA",
   "city": "Ashburn",
   "provider_region": "EastUs",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "VA",
   "city": "Roanoke",
   "provider_region": "EastUs2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "FR",
   "state": null,
   "city": "Paris",
   "provider_region": "FranceCentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "DE",
   "state": null,
   "city": "Frankfurt",
   "provider_region": "GermanyWestCentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "JP",
   "state": null,
   "city": "Osaka",
   "provider_region": "JapanWest",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "KR",
   "state": null,
   "city": "Seoul",
   "provider_region": "KoreaCentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "IL",
   "city": "Chicago",
   "provider_region": "NorthCentralUs",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "IE",
   "state": null,
   "city": "Dublin",
   "provider_region": "NorthEurope",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "NO",
   "state": null,
   "city": "Oslo",
   "provider_region": "NorwayEast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "TX",
   "city": "San Antonio",
   "provider_region": "SouthCentralUs",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SG",
   "state": null,
   "city": "Singapore",
   "provider_region": "SoutheastAsia",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "IN",
   "state": null,
   "city": "Bangalore",
   "provider_region": "SouthIndia",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SE",
   "state": null,
   "city": "Stockholm",
   "provider_region": "SwedenCentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CH",
   "state": null,
   "city": "Zurich",
   "provider_region": "SwitzerlandNorth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "GB",
   "state": null,
   "city": "London",
   "provider_region": "UkSouth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "GB",
   "state": null,
   "city": "Cardiff",
   "provider_region": "UkWest",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "CA",
   "city": "Los Angeles",
   "provider_region": "WestUs",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "WA",
   "city": "Seattle",
   "provider_region": "WestUs2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "AZ",
   "city": "Phoenix",
   "provider_region": "WestUs3",
   "self_serve": true,
   "choosable": true
  }
 ],
 "locations_source": "https://docs.github.com/en/organizations/managing-organization-settings/about-azure-private-networking-for-github-hosted-runners-in-your-organization",
 "locations_quote": "The following regions are supported on GitHub.com. AustraliaEast, BrazilSouth, CanadaCentral, CanadaEast, CentralUs, EastAsia, EastUs, EastUs2, FranceCentral, GermanyWestCentral, JapanWest, KoreaCentral, NorthCentralUs, NorthEurope, NorwayEast, SouthCentralUs, SoutheastAsia, SouthIndia, SwedenCentra",
 "locations_checked": "2026-10-01"
}