# actions-runner-controller v0.23.0 All changes in this release can be found in the milestone https://github.com/actions/actions-runner-controller/milestone/3 This log documents breaking and major enhancements ## BREAKING CHANGE : Workflow job webhooks require an explicit field set Previously the webhook event workflow job was set as the default if no `githubEvent` was set. **Migration Steps** Change this: ```yaml scaleUpTriggers: - githubEvent: {} duration: "30m" ``` To this: ```yaml scaleUpTriggers: - githubEvent: workflowJob: {} duration: "30m" ``` ## BREAKING CHANGE : topologySpreadConstraints renamed to topologySpreadConstraint Previously to use the pod `topologySpreadConstraint:` attribute in your runners you had to set `topologySpreadConstraints:` instead, this was a typo and has been corrected. **Migration Steps** Update your runners to use `topologySpreadConstraints:` instead ## BREAKING CHANGE : Default sync period is now 1 minute instead of 10 minutes Since caching as been implemented the default sync period of 10 minutes is unnecessarily conservative and gives a poor out of the box user experience. If you need a 10 minute sync period ensure you explicitly set this value. **Migration Steps** Update your sync period, how this is done will depend on how you've deployed ARC. ## BREAKING CHANGE : A metric is set by default Previously if no metric was provided and you were using pull based scaling the `TotalNumberOfQueuedAndInProgressWorkflowRuns` was metric applied. No default is set now. **Migration Steps** Add in the `TotalNumberOfQueuedAndInProgressWorkflowRuns` metric where you are currenty relying on it ```yaml apiVersion: actions.summerwind.dev/v1alpha1 kind: RunnerDeployment metadata: name: example-runner-deployment spec: template: spec: organisation: my-awesome-organisation labels: - my-awesome-runner --- apiVersion: actions.summerwind.dev/v1alpha1 kind: HorizontalRunnerAutoscaler metadata: name: example-runner-deployment-autoscaler spec: scaleTargetRef: name: example-runner-deployment minReplicas: 1 maxReplicas: 5 metrics: - type: TotalNumberOfQueuedAndInProgressWorkflowRuns repositoryNames: - owner/my-awesome-repo-1 - owner/my-awesome-repo-2 - owner/my-awesome-repo-3 ``` ## ENHANCEMENT : Find runner groups that visible to repository using a single API call GitHub has contributed code to utilise a new API to enable us to get a repositories runner groups with a single API call. This enables us to scale runners based on the requesting repositories runner group membership without a series of expensive API queries. This is an opt-in feature currently as it's a significant change in behaviour if enabled, additionally, whilst scaling based on the repositories runner group membership is supported in both GHES and github.com, only github.com currently has access to the new raate-limit budget friendly API. To enable this set deploy via Helm and set `githubWebhookServer.useRunnerGroupsVisibility` to `true`.