This commit is contained in:
2022-09-18 00:10:30 +02:00
parent eef25c4c7a
commit 88430eb879
4 changed files with 98 additions and 17 deletions

View File

@@ -4,7 +4,6 @@ import (
"context"
"fmt"
"sync"
"time"
"code.gitea.io/sdk/gitea"
"go.uber.org/zap"
@@ -71,17 +70,47 @@ func (g *Gitea) CreatePr(
return err
}
client.CreatePullRequest(organization, repository, gitea.CreatePullRequestOption{
Head: head,
Base: base,
Title: actionName,
Body: "",
Assignee: "",
Assignees: []string{},
prs, _, err := client.ListRepoPullRequests(organization, repository, gitea.ListPullRequestsOptions{
ListOptions: gitea.ListOptions{
Page: 0,
PageSize: 30,
},
State: gitea.StateOpen,
Sort: "recentupdate",
Milestone: 0,
Labels: []int64{},
Deadline: &time.Time{},
})
if err != nil {
return fmt.Errorf(
"could not list repos, needed because we need to check for conflicts. Original error: %w",
err,
)
}
for _, pr := range prs {
if pr.Head.Name == head {
g.logger.Info(
"returning early from creating pull-request, as it already exists.",
zap.String("repository", repository),
zap.String("pull-request", pr.URL),
)
return nil
}
}
pr, _, err := client.CreatePullRequest(organization, repository, gitea.CreatePullRequestOption{
Head: head,
Base: base,
Title: actionName,
})
if err != nil {
return err
}
g.logger.Debug(
"Created pr",
zap.String("repository", repository),
zap.String("branch", head),
zap.String("pull-request", pr.URL),
)
return nil
}
@@ -92,8 +121,9 @@ func (g *Gitea) getOrCreateClient(ctx context.Context, server string) (*gitea.Cl
client, ok := g.giteaClients[server]
if !ok || client == nil {
c, err := gitea.NewClient(server)
c.SetBasicAuth("kjuulh", "c0bd801cc9a7f2ed559ea45d603afc92f5443f19")
if err != nil {
return nil, nil
return nil, err
}
g.giteaClients[server] = c
return c, nil