* Modify error API to not include exception, but to test on type
* reformat
* address renames and documentations from the review
* test is errors
* document
* Renames, style changes and unesports
* use signal handling
* remove unused fields, unexport packages, have a working example
* remove viper
* fix logger
* fix test
* remove unused var
* Added few log lines
* max runners fixed
* Restructure example
* Improve naming for app auth
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove old comment
---------
Co-authored-by: Francesco Renzi <rentziass@gmail.com>
Co-authored-by: Francesco Renzi <rentziass@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
# GitHub Actions Runner Scale Set Client (Public Preview)
# GitHub Actions Runner Scale Set Client (Private Preview)
> Status: **Public Preview** – While the API is stable, interfaces and examples in this repository may change.
> Status: **Private Preview** – While the API is stable, interfaces and examples in this repository may change.
This repository provides a standalone Go client for the GitHub Actions **Runner Scale Set** APIs. It is extracted from the `actions-runner-controller` project so that platform teams, integrators, and infrastructure providers can build **their own custom autoscaling solutions** for GitHub Actions runners.
@@ -12,7 +12,7 @@ You do *not* need to adopt the full controller (and Kubernetes) to take advantag
A runner scale set is a group of self-hosted runners that autoscales based on workflow demand. Here's how it works:
1.**Registration**: You create a scale set with a name, which also serves as the label workflows use to target it (e.g., `runs-on: my-scale-set`). Multiple labels can be assigned per scale set. Like regular self-hosted runners, scale sets can be registered at the repository, organization, or enterprise level.
1.**Registration**: You create a scale set with a name, which also serves as the label workflows use to target it (e.g., `runs-on: my-scale-set`). Like regular self-hosted runners, scale sets can be registered at the repository, organization, or enterprise level.
2.**Polling**: Your scale set client continuously polls the API, reporting its maximum capacity (how many runners it can produce).
3.**Job matching**: GitHub matches jobs to your scale set based on the label and runner group policies, just like regular self-hosted runners.
4.**Scaling signal**: The API responds with how many runners your scale set needs online (`statistics.TotalAssignedJobs`).
require.NoError(t,err,"failed to marshal expected user agent after SetSystemInfo")
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.