* 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 <[email protected]>
* Remove old comment
---------
Co-authored-by: Francesco Renzi <[email protected]>
Co-authored-by: Francesco Renzi <[email protected]>
Co-authored-by: Copilot <[email protected]>
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.
You do*not* need to adopt the full controller (and Kubernetes) to take advantage of scale sets. This package contains all the primitives you need: create/update/delete scale sets, generate just‑in‑time (JIT) runner configs, and manage message sessions.
You don't need to adopt the full controller or Kubernetes to take advantage of scale sets. The client supports the same platforms as the GitHub Actions runner, including containers and virtual machines running Windows, Linux, and macOS. This package contains all the primitives you need: create, update, and delete scale sets; generate just-in-time (JIT) runner configs; and manage message sessions.
---
@@ -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.