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
Copy file name to clipboardExpand all lines: README.md
+18-1Lines changed: 18 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ You do *not* need to adopt the full controller (and Kubernetes) to take advantag
12
12
13
13
A runner scale set is a group of self-hosted runners that autoscales based on workflow demand. Here's how it works:
14
14
15
-
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.
15
+
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 (on GHES, this requires enabling a feature flag — see [GitHub Enterprise Server](#github-enterprise-server)). Like regular self-hosted runners, scale sets can be registered at the repository, organization, or enterprise level.
16
16
2.**Polling**: Your scale set client continuously polls the API, reporting its maximum capacity (how many runners it can produce).
17
17
3.**Job matching**: GitHub matches jobs to your scale set based on the label and runner group policies, just like regular self-hosted runners.
18
18
4.**Scaling signal**: The API responds with how many runners your scale set needs online (`statistics.TotalAssignedJobs`).
@@ -153,6 +153,23 @@ You can find more details on required permissions in the [GitHub Docs](https://d
153
153
154
154
GitHub Enterprise Server (GHES) is supported out of the box—just use your GHES URL when creating the client.
155
155
156
+
### GitHub Enterprise Server
157
+
158
+
#### Multiple labels per scale set
159
+
160
+
Assigning more than one label to a scale set is supported on **GHES 3.18 and later** and requires the `DistributedTask.AllowRunnerScaleSetCustomLabels` feature flag to be enabled on the appliance. Without it, the scale set name is used as the only label, and any additional labels you provide are silently dropped.
161
+
162
+
-**GHES 3.18 – 3.20:** the flag is **off by default**. A site admin needs to enable it on the appliance:
163
+
164
+
```bash
165
+
# SSH into the GHES appliance as admin
166
+
ghe-actions-console -s actions
167
+
# In the LightRail prompt:
168
+
Set-FeatureFlag -FeatureName DistributedTask.AllowRunnerScaleSetCustomLabels -State On
169
+
```
170
+
171
+
-**GHES 3.21 and later:** the flag is **on by default**, no action required.
0 commit comments