feat: adding workflow_dispatch webhook event

This commit is contained in:
Callum
2021-10-09 10:07:07 +01:00
parent 8657a34f32
commit d36d47fe66
4 changed files with 67 additions and 3 deletions

View File

@@ -183,6 +183,15 @@ func (autoscaler *HorizontalRunnerAutoscalerGitHubWebhook) Handle(w http.Respons
"action", e.GetAction(),
)
}
case *gogithub.WorkflowDispatchEvent:
target, err = autoscaler.getScaleUpTarget(
context.TODO(),
log,
e.Repo.GetName(),
e.Repo.Owner.GetLogin(),
e.Repo.Owner.GetType(),
autoscaler.WorkflowDispatchEvent(e),
)
case *gogithub.WorkflowJobEvent:
if workflowJob := e.GetWorkflowJob(); workflowJob != nil {
log = log.WithValues(

View File

@@ -0,0 +1,35 @@
package controllers
import (
"github.com/actions-runner-controller/actions-runner-controller/api/v1alpha1"
"github.com/google/go-github/v37/github"
)
// MatchPushEvent()
func (autoscaler *HorizontalRunnerAutoscalerGitHubWebhook) MatchWorkflowDispatchEvent(event *github.PushEvent) func(scaleUpTrigger v1alpha1.ScaleUpTrigger) bool {
return func(scaleUpTrigger v1alpha1.ScaleUpTrigger) bool {
g := scaleUpTrigger.GitHubEvent
if g == nil {
return false
}
WorkflowDispatch := g.WorkflowDispatch
if WorkflowDispatch == nil {
return false
}
// event.Ref = Branch that received dispatch
// event.Ref = refs/heads/branch-name
if !matchTriggerConditionAgainstEvent(WorkflowDispatch.Branches, event.Ref) {
return false
}
if matchTriggerConditionAgainstEvent(WorkflowDispatch.BranchesIgnore, event.Ref) {
return false
}
return true
}
}