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
We’re excited to introduce the GitHub Actions runner scale set client that is now available in public preview. The client is a standalone Go-based module that lets you build custom autoscaling solutions for GitHub Actions runners without requiring Kubernetes.
The client provides the core building blocks for implementing autoscaling on any infrastructure. Whether you're running containers, virtual machines, bare metal servers, or cloud services, by integrating directly with GitHub's scale set APIs, you gain full control over runner lifecycle management while GitHub handles the orchestration logic.
Key capabilities:
Platform agnostic design: Works with containers, virtual machines, and bare metal servers across Windows, Linux, and macOS.
Full provisioning control: You define how runners are created, scaled, and destroyed based on your specific requirements.
Native multi-label support: Assign multiple labels to each scale set, optimizing resources for multiple build types.
Real-time telemetry: Monitor job execution and runner performance with built-in metrics.
How it works
The client orchestrates API interactions with GitHub's scale set infrastructure while leaving the actual runner provisioning entirely in your hands. This separation means you maintain complete control over your infrastructure decisions. Whether that's spinning up containers, launching cloud virtual machines, or provisioning physical hardware, all while benefiting from GitHub's scale set APIs.
Important: You'll manage all infrastructure setup, provisioning logic, and scaling strategies. GitHub provides the APIs and client libraries. You're responsible for implementing your infrastructure automation.
Relationship to Actions Runner Controller
The Runner Scale Set Client isn't a replacement for Actions Runner Controller (ARC), which remains a reference implementation of the scale set APIs and the recommended Kubernetes solution for autoscaling runners. Instead, the client is a new tool for interfacing with same scale set APIs for building custom autoscaling solutions outside of Kubernetes. Multi-label support will also be made available for ARC with the 0.14.0, which will be available in March 2025—see the issue for adding this support.
Got feedback, ideas, questions, or stories about how you’re using this? Post below in the comments - bug reports welcome there too. If you’ve got a clear bug to track, you can also open an Issue in the repo. Contributions are welcome! ❤️
🚀 ShippedA feature has been releasedActionsBuild, test, and automate your deployment pipeline with world-class CI/CDChangelogA discussion post associated with a Changelog post👂 Feedback WantedGitHub wants to hear your feedbackScale SetsScale sets: autoscale runner pools/capacity for Actions (ARC/GH).
1 participant
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
We’re excited to introduce the GitHub Actions runner scale set client that is now available in public preview. The client is a standalone Go-based module that lets you build custom autoscaling solutions for GitHub Actions runners without requiring Kubernetes.
The client provides the core building blocks for implementing autoscaling on any infrastructure. Whether you're running containers, virtual machines, bare metal servers, or cloud services, by integrating directly with GitHub's scale set APIs, you gain full control over runner lifecycle management while GitHub handles the orchestration logic.
Key capabilities:
How it works
The client orchestrates API interactions with GitHub's scale set infrastructure while leaving the actual runner provisioning entirely in your hands. This separation means you maintain complete control over your infrastructure decisions. Whether that's spinning up containers, launching cloud virtual machines, or provisioning physical hardware, all while benefiting from GitHub's scale set APIs.
Important: You'll manage all infrastructure setup, provisioning logic, and scaling strategies. GitHub provides the APIs and client libraries. You're responsible for implementing your infrastructure automation.
Relationship to Actions Runner Controller
The Runner Scale Set Client isn't a replacement for Actions Runner Controller (ARC), which remains a reference implementation of the scale set APIs and the recommended Kubernetes solution for autoscaling runners. Instead, the client is a new tool for interfacing with same scale set APIs for building custom autoscaling solutions outside of Kubernetes. Multi-label support will also be made available for ARC with the 0.14.0, which will be available in March 2025—see the issue for adding this support.
Get started
The GitHub Actions Runner Scale Set Client is fully open source and available for you to explore the source code and adapt the implementation to your specific infrastructure needs. You can also visit the GitHub Actions Runner Scale Set Client documentation for additional information.
Share your feedback
Got feedback, ideas, questions, or stories about how you’re using this? Post below in the comments - bug reports welcome there too. If you’ve got a clear bug to track, you can also open an Issue in the repo. Contributions are welcome! ❤️
Beta Was this translation helpful? Give feedback.
All reactions