mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-21 21:05:18 +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/gitea-vet v0.2.2-0.20220122151748-48ebc902541b
|
||||||
code.gitea.io/sdk/gitea v0.15.1
|
code.gitea.io/sdk/gitea v0.15.1
|
||||||
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570
|
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/binding v0.0.0-20220309004920-114340dabecb
|
||||||
gitea.com/go-chi/cache v0.2.0
|
gitea.com/go-chi/cache v0.2.0
|
||||||
gitea.com/go-chi/captcha v0.0.0-20211013065431-70641c1a35d5
|
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.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 h1:cliQ4HHsCo6xi2oWZYKWW4bly/Ory9FuTpFPRxj/mAg=
|
||||||
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078/go.mod h1:g/V2Hjas6Z1UHUp4yIx6bATpNzJ7DYtD0FG3+xARWxs=
|
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-20220901061207-b88901a1b9bc h1:kTVjwKxXma2yAdgXz8T1tiJihtWFK8jGLqArX2NownM=
|
||||||
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/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 h1:Yy0Bxzc8R2wxiwXoG/rECGplJUSpXqCsog9PuJFgiHs=
|
||||||
gitea.com/go-chi/binding v0.0.0-20220309004920-114340dabecb/go.mod h1:77TZu701zMXWJFvB8gvTbQ92zQ3DQq/H7l5wAEjQRKc=
|
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=
|
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
|
// BuildStatus represents a build status
|
||||||
type BuildStatus int
|
type BuildStatus string
|
||||||
|
|
||||||
// enumerate all the statuses of bot build
|
// enumerate all the statuses of bot build
|
||||||
const (
|
const (
|
||||||
BuildPending BuildStatus = iota // wait for assign
|
StatusSkipped BuildStatus = "skipped"
|
||||||
BuildAssigned // assigned to a runner
|
StatusBlocked BuildStatus = "blocked"
|
||||||
BuildRunning // running
|
StatusDeclined BuildStatus = "declined"
|
||||||
BuildFailed
|
StatusWaiting BuildStatus = "waiting_on_dependencies"
|
||||||
BuildFinished
|
StatusPending BuildStatus = "pending"
|
||||||
BuildCanceled
|
StatusRunning BuildStatus = "running"
|
||||||
BuildTimeout
|
StatusPassing BuildStatus = "success"
|
||||||
|
StatusFailing BuildStatus = "failure"
|
||||||
|
StatusKilled BuildStatus = "killed"
|
||||||
|
StatusError BuildStatus = "error"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (status BuildStatus) IsPending() bool {
|
func (status BuildStatus) IsPending() bool {
|
||||||
return status == BuildPending || status == BuildAssigned
|
return status == StatusPending
|
||||||
}
|
}
|
||||||
|
|
||||||
func (status BuildStatus) IsRunning() bool {
|
func (status BuildStatus) IsRunning() bool {
|
||||||
return status == BuildRunning
|
return status == StatusRunning
|
||||||
}
|
}
|
||||||
|
|
||||||
func (status BuildStatus) IsFailed() bool {
|
func (status BuildStatus) IsFailed() bool {
|
||||||
return status == BuildFailed || status == BuildCanceled || status == BuildTimeout
|
return status == StatusFailing || status == StatusKilled || status == StatusError
|
||||||
}
|
}
|
||||||
|
|
||||||
func (status BuildStatus) IsSuccess() bool {
|
func (status BuildStatus) IsSuccess() bool {
|
||||||
return status == BuildFinished
|
return status == StatusPassing
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build represnets bot build task
|
// Build represnets bot build task
|
||||||
@ -99,7 +102,7 @@ func updateRepoBuildsNumbers(ctx context.Context, repo *repo_model.Repository) e
|
|||||||
Where(builder.Eq{
|
Where(builder.Eq{
|
||||||
"repo_id": repo.ID,
|
"repo_id": repo.ID,
|
||||||
}.And(
|
}.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
|
var builds []Build
|
||||||
err := db.GetEngine(db.DefaultContext).
|
err := db.GetEngine(db.DefaultContext).
|
||||||
Where("runner_id=?", runnerID).
|
Where("runner_id=?", runnerID).
|
||||||
And("status=?", BuildPending).
|
And("status=?", StatusPending).
|
||||||
Asc("created").
|
Asc("created").
|
||||||
Find(&builds)
|
Find(&builds)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -260,9 +263,9 @@ func (opts FindBuildOptions) toConds() builder.Cond {
|
|||||||
cond = cond.And(builder.Eq{"repo_id": opts.RepoID})
|
cond = cond.And(builder.Eq{"repo_id": opts.RepoID})
|
||||||
}
|
}
|
||||||
if opts.IsClosed.IsTrue() {
|
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() {
|
} 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
|
return cond
|
||||||
}
|
}
|
||||||
|
@ -58,14 +58,12 @@ func (s *Service) Register(
|
|||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Service) Accept(
|
func (s *Service) Request(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
req *connect.Request[runnerv1.AcceptRequest],
|
req *connect.Request[runnerv1.RequestRequest],
|
||||||
) (*connect.Response[runnerv1.AcceptResponse], error) {
|
) (*connect.Response[runnerv1.RequestResponse], error) {
|
||||||
log.Info("Request headers: %v", req.Header())
|
res := connect.NewResponse(&runnerv1.RequestResponse{
|
||||||
res := connect.NewResponse(&runnerv1.AcceptResponse{
|
Stage: &runnerv1.Stage{},
|
||||||
JobId: 100,
|
|
||||||
})
|
})
|
||||||
res.Header().Set("Gitea-Version", "runnerv1")
|
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
@ -116,9 +116,9 @@ func handleVersion1(r *http.Request, c *websocket.Conn, mt int, message []byte,
|
|||||||
}
|
}
|
||||||
cols := []string{"status", "end_time"}
|
cols := []string{"status", "end_time"}
|
||||||
if msg.ErrCode == 0 {
|
if msg.ErrCode == 0 {
|
||||||
build.Status = bots_model.BuildFinished
|
build.Status = bots_model.StatusPassing
|
||||||
} else {
|
} else {
|
||||||
build.Status = bots_model.BuildFailed
|
build.Status = bots_model.StatusFailing
|
||||||
}
|
}
|
||||||
build.EndTime = timeutil.TimeStampNow()
|
build.EndTime = timeutil.TimeStampNow()
|
||||||
if err := bots_model.UpdateBuild(build, cols...); err != nil {
|
if err := bots_model.UpdateBuild(build, cols...); err != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user