add support for pull request action in when conditionals

This commit is contained in:
Lucian Jones 2019-06-25 10:13:06 +12:00
parent 4889634ea9
commit 324a856457
2 changed files with 16 additions and 0 deletions

View File

@ -26,6 +26,7 @@ type SkipData struct {
Ref string Ref string
Repo string Repo string
Target string Target string
Action string
} }
// SkipFunc returns a function that can be used to skip // SkipFunc returns a function that can be used to skip
@ -47,6 +48,8 @@ func SkipFunc(data SkipData) func(*yaml.Container) bool {
return true return true
case !container.When.Target.Match(data.Target): case !container.When.Target.Match(data.Target):
return true return true
case !container.When.Action.Match(data.Action):
return true
default: default:
return false return false
} }

View File

@ -111,6 +111,19 @@ func TestSkipFunc(t *testing.T) {
when: yaml.Conditions{Target: yaml.Condition{Exclude: []string{"prod"}}}, when: yaml.Conditions{Target: yaml.Condition{Exclude: []string{"prod"}}},
want: true, want: true,
}, },
//
// test action conditions
//
{
data: SkipData{Action: "opened"},
when: yaml.Conditions{Action: yaml.Condition{Include: []string{"opened"}}},
want: false,
},
{
data: SkipData{Action: "opened"},
when: yaml.Conditions{Action: yaml.Condition{Exclude: []string{"opened"}}},
want: true,
},
} }
for i, test := range tests { for i, test := range tests {
container := &yaml.Container{When: test.when} container := &yaml.Container{When: test.when}