mirror of
https://github.com/go-gitea/gitea.git
synced 2025-04-08 17:05:45 +02:00
chore(gRPC): initial request method
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
This commit is contained in:
parent
e07d416366
commit
68d416bd1b
2
go.mod
2
go.mod
@ -6,7 +6,7 @@ require (
|
||||
code.gitea.io/gitea-vet v0.2.2-0.20220122151748-48ebc902541b
|
||||
code.gitea.io/sdk/gitea v0.15.1
|
||||
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570
|
||||
gitea.com/gitea/proto-go v0.0.0-20220828031749-616e40329b57
|
||||
gitea.com/gitea/proto-go v0.0.0-20220901061207-b88901a1b9bc
|
||||
gitea.com/go-chi/binding v0.0.0-20220309004920-114340dabecb
|
||||
gitea.com/go-chi/cache v0.2.0
|
||||
gitea.com/go-chi/captcha v0.0.0-20211013065431-70641c1a35d5
|
||||
|
4
go.sum
4
go.sum
@ -89,8 +89,8 @@ git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGy
|
||||
git.apache.org/thrift.git v0.12.0/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
|
||||
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 h1:cliQ4HHsCo6xi2oWZYKWW4bly/Ory9FuTpFPRxj/mAg=
|
||||
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078/go.mod h1:g/V2Hjas6Z1UHUp4yIx6bATpNzJ7DYtD0FG3+xARWxs=
|
||||
gitea.com/gitea/proto-go v0.0.0-20220828031749-616e40329b57 h1:eVM6m3h5KpmJM2+LEqroENFaMs2kAo8QNIPyMgho9jg=
|
||||
gitea.com/gitea/proto-go v0.0.0-20220828031749-616e40329b57/go.mod h1:hD8YwSHusjwjEEgubW6XFvnZuNhMZTHz6lwjfltEt/Y=
|
||||
gitea.com/gitea/proto-go v0.0.0-20220901061207-b88901a1b9bc h1:kTVjwKxXma2yAdgXz8T1tiJihtWFK8jGLqArX2NownM=
|
||||
gitea.com/gitea/proto-go v0.0.0-20220901061207-b88901a1b9bc/go.mod h1:hD8YwSHusjwjEEgubW6XFvnZuNhMZTHz6lwjfltEt/Y=
|
||||
gitea.com/go-chi/binding v0.0.0-20220309004920-114340dabecb h1:Yy0Bxzc8R2wxiwXoG/rECGplJUSpXqCsog9PuJFgiHs=
|
||||
gitea.com/go-chi/binding v0.0.0-20220309004920-114340dabecb/go.mod h1:77TZu701zMXWJFvB8gvTbQ92zQ3DQq/H7l5wAEjQRKc=
|
||||
gitea.com/go-chi/cache v0.0.0-20210110083709-82c4c9ce2d5e/go.mod h1:k2V/gPDEtXGjjMGuBJiapffAXTv76H4snSmlJRLUhH0=
|
||||
|
@ -27,33 +27,36 @@ func init() {
|
||||
}
|
||||
|
||||
// BuildStatus represents a build status
|
||||
type BuildStatus int
|
||||
type BuildStatus string
|
||||
|
||||
// enumerate all the statuses of bot build
|
||||
const (
|
||||
BuildPending BuildStatus = iota // wait for assign
|
||||
BuildAssigned // assigned to a runner
|
||||
BuildRunning // running
|
||||
BuildFailed
|
||||
BuildFinished
|
||||
BuildCanceled
|
||||
BuildTimeout
|
||||
StatusSkipped BuildStatus = "skipped"
|
||||
StatusBlocked BuildStatus = "blocked"
|
||||
StatusDeclined BuildStatus = "declined"
|
||||
StatusWaiting BuildStatus = "waiting_on_dependencies"
|
||||
StatusPending BuildStatus = "pending"
|
||||
StatusRunning BuildStatus = "running"
|
||||
StatusPassing BuildStatus = "success"
|
||||
StatusFailing BuildStatus = "failure"
|
||||
StatusKilled BuildStatus = "killed"
|
||||
StatusError BuildStatus = "error"
|
||||
)
|
||||
|
||||
func (status BuildStatus) IsPending() bool {
|
||||
return status == BuildPending || status == BuildAssigned
|
||||
return status == StatusPending
|
||||
}
|
||||
|
||||
func (status BuildStatus) IsRunning() bool {
|
||||
return status == BuildRunning
|
||||
return status == StatusRunning
|
||||
}
|
||||
|
||||
func (status BuildStatus) IsFailed() bool {
|
||||
return status == BuildFailed || status == BuildCanceled || status == BuildTimeout
|
||||
return status == StatusFailing || status == StatusKilled || status == StatusError
|
||||
}
|
||||
|
||||
func (status BuildStatus) IsSuccess() bool {
|
||||
return status == BuildFinished
|
||||
return status == StatusPassing
|
||||
}
|
||||
|
||||
// Build represnets bot build task
|
||||
@ -99,7 +102,7 @@ func updateRepoBuildsNumbers(ctx context.Context, repo *repo_model.Repository) e
|
||||
Where(builder.Eq{
|
||||
"repo_id": repo.ID,
|
||||
}.And(
|
||||
builder.In("status", BuildFailed, BuildCanceled, BuildTimeout, BuildFinished),
|
||||
builder.In("status", StatusFailing, StatusKilled, StatusPassing),
|
||||
),
|
||||
),
|
||||
).
|
||||
@ -193,7 +196,7 @@ func GetCurBuildByID(runnerID int64) (*Build, error) {
|
||||
var builds []Build
|
||||
err := db.GetEngine(db.DefaultContext).
|
||||
Where("runner_id=?", runnerID).
|
||||
And("status=?", BuildPending).
|
||||
And("status=?", StatusPending).
|
||||
Asc("created").
|
||||
Find(&builds)
|
||||
if err != nil {
|
||||
@ -260,9 +263,9 @@ func (opts FindBuildOptions) toConds() builder.Cond {
|
||||
cond = cond.And(builder.Eq{"repo_id": opts.RepoID})
|
||||
}
|
||||
if opts.IsClosed.IsTrue() {
|
||||
cond = cond.And(builder.Expr("status IN (?,?,?,?)", BuildCanceled, BuildFailed, BuildTimeout, BuildFinished))
|
||||
cond = cond.And(builder.Expr("status IN (?,?,?,?)", StatusError, StatusFailing, StatusPassing))
|
||||
} else if opts.IsClosed.IsFalse() {
|
||||
cond = cond.And(builder.Expr("status IN (?,?,?)", BuildPending, BuildAssigned, BuildRunning))
|
||||
cond = cond.And(builder.Expr("status IN (?,?,?)", StatusPending, StatusRunning))
|
||||
}
|
||||
return cond
|
||||
}
|
||||
|
@ -58,14 +58,12 @@ func (s *Service) Register(
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (s *Service) Accept(
|
||||
func (s *Service) Request(
|
||||
ctx context.Context,
|
||||
req *connect.Request[runnerv1.AcceptRequest],
|
||||
) (*connect.Response[runnerv1.AcceptResponse], error) {
|
||||
log.Info("Request headers: %v", req.Header())
|
||||
res := connect.NewResponse(&runnerv1.AcceptResponse{
|
||||
JobId: 100,
|
||||
req *connect.Request[runnerv1.RequestRequest],
|
||||
) (*connect.Response[runnerv1.RequestResponse], error) {
|
||||
res := connect.NewResponse(&runnerv1.RequestResponse{
|
||||
Stage: &runnerv1.Stage{},
|
||||
})
|
||||
res.Header().Set("Gitea-Version", "runnerv1")
|
||||
return res, nil
|
||||
}
|
||||
|
@ -116,9 +116,9 @@ func handleVersion1(r *http.Request, c *websocket.Conn, mt int, message []byte,
|
||||
}
|
||||
cols := []string{"status", "end_time"}
|
||||
if msg.ErrCode == 0 {
|
||||
build.Status = bots_model.BuildFinished
|
||||
build.Status = bots_model.StatusPassing
|
||||
} else {
|
||||
build.Status = bots_model.BuildFailed
|
||||
build.Status = bots_model.StatusFailing
|
||||
}
|
||||
build.EndTime = timeutil.TimeStampNow()
|
||||
if err := bots_model.UpdateBuild(build, cols...); err != nil {
|
||||
|
Loading…
x
Reference in New Issue
Block a user