Skip to content

Commit

Permalink
Add a depup trigger script
Browse files Browse the repository at this point in the history
  • Loading branch information
haya14busa committed Aug 4, 2020
1 parent 1a53da6 commit 0bb4fe3
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 0 deletions.
8 changes: 8 additions & 0 deletions scripts/trigger-depup/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module github.com/reviewdog/reviewdog/scripts/trigger-depup

go 1.14

require (
github.com/google/go-github/v32 v32.1.0
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
)
22 changes: 22 additions & 0 deletions scripts/trigger-depup/go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
github.com/google/go-github/v32 v32.1.0 h1:GWkQOdXqviCPx7Q7Fj+KyPoGm4SwHRh8rheoPhd27II=
github.com/google/go-github/v32 v32.1.0/go.mod h1:rIEpZD9CTDQwDK9GDrtMTycQNA4JU3qBsCizh3q2WCI=
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
63 changes: 63 additions & 0 deletions scripts/trigger-depup/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package main

import (
"context"
"errors"
"flag"
"fmt"
"log"
"net/http"
"os"
"strings"

"github.com/google/go-github/v32/github"
"golang.org/x/oauth2"
)

var (
targetOrg = flag.String("org", "reviewdog", "target org name")
)

func main() {
if err := run(); err != nil {
fmt.Fprintf(os.Stderr, "%v\n", err)
os.Exit(1)
}
}

func run() error {
ctx := context.Background()
token := os.Getenv("DEPUP_GITHUB_API_TOKEN")
if token == "" {
return errors.New("DEPUP_GITHUB_API_TOKEN is empty")
}
cli := githubClient(ctx, token)
// TODO(haya14busa): Support pagination.
repos, _, err := cli.Repositories.ListByOrg(ctx, *targetOrg, &github.RepositoryListByOrgOptions{})
if err != nil {
return err
}
var wholeErr error
for _, repo := range repos {
if !strings.HasPrefix(repo.GetName(), "action-") {
continue
}
log.Printf("Dispatch depup to %s/%s...", *targetOrg, repo.GetName())
if _, _, err := cli.Repositories.Dispatch(ctx, *targetOrg, repo.GetName(), github.DispatchRequestOptions{
EventType: "depup",
}); err != nil {
log.Printf("Dispatch depup to %s/%s failed: %v", *targetOrg, repo.GetName(), err)
wholeErr = err
}
}
return wholeErr
}

func githubClient(ctx context.Context, token string) *github.Client {
ctx = context.WithValue(ctx, oauth2.HTTPClient, &http.Client{})
ts := oauth2.StaticTokenSource(
&oauth2.Token{AccessToken: token},
)
tc := oauth2.NewClient(ctx, ts)
return github.NewClient(tc)
}

0 comments on commit 0bb4fe3

Please sign in to comment.