Skip to content

Commit 55740c2

Browse files
committed
feat(pullvet): check_suite support
1 parent 5488908 commit 55740c2

File tree

4 files changed

+39
-14
lines changed

4 files changed

+39
-14
lines changed

cmd/main.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package main
33
import (
44
"flag"
55
"fmt"
6-
"github.com/variantdev/go-actions"
76
"github.com/variantdev/go-actions/pkg/pullvet"
87
"os"
98
)
@@ -45,7 +44,13 @@ func main() {
4544

4645
fs.Parse(os.Args[2:])
4746

48-
if err := cmd.Run(actions.PullRequestEvent().PullRequest); err != nil {
47+
pr, err := pullvet.GetPullRequest()
48+
if err != nil {
49+
fmt.Fprintf(os.Stderr, "%v\n", err)
50+
os.Exit(1)
51+
}
52+
53+
if err := cmd.Run(pr); err != nil {
4954
fatal("%v\n", err)
5055
}
5156
default:

cmd/pullvet/pullvet.go

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ package main
33
import (
44
"flag"
55
"fmt"
6-
"github.com/google/go-github/github"
7-
"github.com/variantdev/go-actions"
86
"github.com/variantdev/go-actions/pkg/pullvet"
97
"os"
108
)
@@ -23,17 +21,10 @@ func main() {
2321

2422
flag.Parse()
2523

26-
var pr *github.PullRequest
27-
28-
checkRun, err := actions.CheckRunEvent()
24+
pr, err := pullvet.GetPullRequest()
2925
if err != nil {
30-
pull, err := actions.PullRequestEvent()
31-
if err != nil {
32-
fmt.Fprintf(os.Stderr, "%v\n", err)
33-
}
34-
pr = pull.PullRequest
35-
} else {
36-
pr = checkRun.CheckRun.PullRequests[0]
26+
fmt.Fprintf(os.Stderr, "%v\n", err)
27+
os.Exit(1)
3728
}
3829

3930
if err := cmd.Run(pr); err != nil {

event.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,11 @@ func CheckRunEvent() (*github.CheckRunEvent, error) {
3939
}
4040
return evt.(*github.CheckRunEvent), nil
4141
}
42+
43+
func CheckSuiteEvent() (*github.CheckSuiteEvent, error) {
44+
evt, err := github.ParseWebHook("check_suite", Event())
45+
if err != nil {
46+
return nil, err
47+
}
48+
return evt.(*github.CheckSuiteEvent), nil
49+
}

pkg/pullvet/pullvet.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"flag"
55
"fmt"
66
"github.com/google/go-github/github"
7+
"github.com/variantdev/go-actions"
78
"github.com/variantdev/go-actions/pkg/cmd"
89
"os"
910
"regexp"
@@ -129,3 +130,23 @@ func formatFailures(failures []string) string {
129130
}
130131
return strings.Join(lines, "\n")
131132
}
133+
134+
func GetPullRequest() (*github.PullRequest, error) {
135+
var pr *github.PullRequest
136+
checkSuite, err := actions.CheckSuiteEvent()
137+
if err != nil {
138+
checkRun, err := actions.CheckRunEvent()
139+
if err != nil {
140+
pull, err := actions.PullRequestEvent()
141+
if err != nil {
142+
return nil, err
143+
}
144+
pr = pull.PullRequest
145+
} else {
146+
pr = checkRun.CheckRun.PullRequests[0]
147+
}
148+
} else {
149+
pr = checkSuite.CheckSuite.PullRequests[0]
150+
}
151+
return pr, nil
152+
}

0 commit comments

Comments
 (0)