instruction: How do you implement autoscaling for GitHub Actions self-hosted runners?
output: GitHub - actions/actions-runner-controller: Kubernetes controller for GitHub Actions self-hosted runners Skip to content Navigation Menu Toggle navigation Sign in Appearance settings Product GitHub Copilot Write better code with AI GitHub Spark New Build and deploy intelligent apps GitHub Models New Manage and compare prompts GitHub Advanced Security Find and fix vulnerabilities Actions Automate any workflow Codespaces Instant dev environments Issues Plan and track work Code Review Manage code changes Discussions Collaborate outside of code Code Search Find more, search less Explore Why GitHub All features Documentation GitHub Skills Blog Solutions By company size Enterprises Small and medium teams Startups Nonprofits By use case DevSecOps DevOps CI/CD View all use cases By industry Healthcare Financial services Manufacturing Government View all industries View all solutions Resources Topics AI DevOps Security Software Development View all Explore Learning Pathways Events &amp; Webinars Ebooks &amp; Whitepapers Customer Stories Partners Executive Insights Open Source GitHub Sponsors Fund open source developers The ReadME Project GitHub community articles Repositories Topics Trending Collections Enterprise Enterprise platform AI-powered developer platform Available add-ons GitHub Advanced Security Enterprise-grade security features Copilot for business Enterprise-grade AI features Premium Support Enterprise-grade 24/7 support Pricing Search or jump to... Search code, repositories, users, issues, pull requests... --> Search Clear Search syntax tips Provide feedback --> We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly --> Name Query To see all available qualifiers, see our documentation . Cancel Create saved search Sign in Sign up Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} actions / actions-runner-controller Public Notifications You must be signed in to change notification settings Fork 1.3k Star 5.6k Kubernetes controller for GitHub Actions self-hosted runners License Apache-2.0 license 5.6k stars 1.3k forks Branches Tags Activity Star Notifications You must be signed in to change notification settings Code Issues 292 Pull requests 73 Discussions Actions Security Uh oh! There was an error while loading. Please reload this page . Insights Additional navigation options Code Issues Pull requests Discussions Actions Security Insights actions/actions-runner-controller master Branches Tags Go to file Code Open more actions menu Folders and files Name Name Last commit message Last commit date Latest commit History 1,740 Commits .github .github acceptance acceptance apis apis build build charts charts cmd cmd config config contrib contrib controllers controllers docs docs github github hack hack hash hash logging logging pkg pkg runner runner simulator simulator test test test_e2e_arc test_e2e_arc testing testing vault vault .dockerignore .dockerignore .gitattributes .gitattributes .gitignore .gitignore .golangci.yaml .golangci.yaml CODEOWNERS CODEOWNERS CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md CONTRIBUTING.md CONTRIBUTING.md Dockerfile Dockerfile LICENSE LICENSE Makefile Makefile PROJECT PROJECT README.md README.md SECURITY.md SECURITY.md TROUBLESHOOTING.md TROUBLESHOOTING.md go.mod go.mod go.sum go.sum main.go main.go View all files Repository files navigation README Code of conduct Contributing Apache-2.0 license Security Actions Runner Controller (ARC) About Actions Runner Controller (ARC) is a Kubernetes operator that orchestrates and scales self-hosted runners for GitHub Actions. With ARC, you can create runner scale sets that automatically scale based on the number of workflows running in your repository, organization, or enterprise. Because controlled runners can be ephemeral and based on containers, new runner instances can scale up or down rapidly and cleanly. For more information about autoscaling, see "Autoscaling with self-hosted runners." You can set up ARC on Kubernetes using Helm, then create and run a workflow that uses runner scale sets. For more information about runner scale sets, see "Deploying runner scale sets with Actions Runner Controller." People Actions Runner Controller (ARC) is an open-source project currently developed and maintained in collaboration with the GitHub Actions team, external maintainers @mumoshu and @toast-gear, various contributors , and the awesome community . If you think the project is awesome and is adding value to your business, please consider directly sponsoring community maintainers and individual contributors via GitHub Sponsors. If you are already the employer of one of the contributors, sponsoring via GitHub Sponsors might not be an option. Just support them by other means! See the sponsorship dashboard for the former and the current sponsors. Getting Started To give ARC a try with just a handful of commands, please refer to the Quickstart guide . For an overview of ARC, please refer to About ARC . With the introduction of autoscaling runner scale sets , the existing autoscaling modes are now legacy. The legacy modes have certain use cases and will continue to be maintained by the community only. For further information on what is supported by GitHub and what's managed by the community, please refer to this announcement discussion. Documentation ARC documentation is available on docs.github.com . Legacy documentation The following documentation is for the legacy autoscaling modes that continue to be maintained by the community: Quickstart guide About ARC Installing ARC Authenticating to the GitHub API Deploying ARC runners Adding ARC runners to a repository, organization, or enterprise Automatically scaling runners Using custom volumes Using ARC runners in a workflow Managing access with runner groups Configuring Windows runners Using ARC across organizations Using entrypoint features Deploying alternative runners Monitoring and troubleshooting Contributing We welcome contributions from the community. For more details on contributing to the project (including requirements), please refer to " Getting Started with Contributing ." Troubleshooting We are very happy to help you with any issues you have. Please refer to the " Troubleshooting " section for common issues. About Kubernetes controller for GitHub Actions self-hosted runners Topics kubernetes operator github-actions Resources Readme License Apache-2.0 license Code of conduct Code of conduct Contributing Contributing Security policy Security policy Uh oh! There was an error while loading. Please reload this page . Activity Custom properties Stars 5.6k stars Watchers 56 watching Forks 1.3k forks Report repository Releases 141 gha-runner-scale-set-0.12.1 Latest Jun 27, 2025 + 140 releases Packages 0 &nbsp; &nbsp; &nbsp; Uh oh! There was an error while loading. Please reload this page . Uh oh! There was an error while loading. Please reload this page . Contributors 312 Uh oh! There was an error while loading. Please reload this page . + 298 contributors Languages Go 89.2% Shell 3.2% Dockerfile 3.0% Smarty 2.3% Makefile 2.0% HCL 0.3% Footer &copy; 2025 GitHub,&nbsp;Inc. Footer navigation Terms Privacy Security Status Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time.