mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-21 12:55:23 +02:00
chore: remove Result from task and step
This commit is contained in:
parent
dd417a3270
commit
0f5aab0c1a
@ -148,7 +148,7 @@ func InsertRun(run *Run, jobs []*jobparser.SingleWorkflow) error {
|
|||||||
}
|
}
|
||||||
run.Index = index
|
run.Index = index
|
||||||
|
|
||||||
if run.Status == StatusUnknown {
|
if run.Status.IsUnknown() {
|
||||||
run.Status = StatusWaiting
|
run.Status = StatusWaiting
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
package bots
|
package bots
|
||||||
|
|
||||||
|
import runnerv1 "gitea.com/gitea/proto-go/runner/v1"
|
||||||
|
|
||||||
// Status represents the status of Run, RunJob, Task, or TaskStep
|
// Status represents the status of Run, RunJob, Task, or TaskStep
|
||||||
type Status int
|
type Status int
|
||||||
|
|
||||||
@ -13,9 +15,9 @@ const (
|
|||||||
StatusFailure // 2, consistent with runnerv1.Result_RESULT_FAILURE
|
StatusFailure // 2, consistent with runnerv1.Result_RESULT_FAILURE
|
||||||
StatusCancelled // 3, consistent with runnerv1.Result_RESULT_CANCELLED
|
StatusCancelled // 3, consistent with runnerv1.Result_RESULT_CANCELLED
|
||||||
StatusSkipped // 4, consistent with runnerv1.Result_RESULT_SKIPPED
|
StatusSkipped // 4, consistent with runnerv1.Result_RESULT_SKIPPED
|
||||||
StatusWaiting // 5
|
StatusWaiting // 5, isn't a runnerv1.Result
|
||||||
StatusRunning // 6
|
StatusRunning // 6, isn't a runnerv1.Result
|
||||||
StatusBlocked // 7
|
StatusBlocked // 7, isn't a runnerv1.Result
|
||||||
)
|
)
|
||||||
|
|
||||||
// String returns the string name of the Status
|
// String returns the string name of the Status
|
||||||
@ -33,6 +35,10 @@ func (s Status) HasRun() bool {
|
|||||||
return s.In(StatusSuccess, StatusFailure)
|
return s.In(StatusSuccess, StatusFailure)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s Status) IsUnknown() bool {
|
||||||
|
return s == StatusUnknown
|
||||||
|
}
|
||||||
|
|
||||||
func (s Status) IsSuccess() bool {
|
func (s Status) IsSuccess() bool {
|
||||||
return s == StatusSuccess
|
return s == StatusSuccess
|
||||||
}
|
}
|
||||||
@ -66,6 +72,13 @@ func (s Status) In(statuses ...Status) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s Status) AsResult() runnerv1.Result {
|
||||||
|
if s.IsDone() {
|
||||||
|
return runnerv1.Result(s)
|
||||||
|
}
|
||||||
|
return runnerv1.Result_RESULT_UNSPECIFIED
|
||||||
|
}
|
||||||
|
|
||||||
var statusNames = map[Status]string{
|
var statusNames = map[Status]string{
|
||||||
StatusUnknown: "unknown",
|
StatusUnknown: "unknown",
|
||||||
StatusWaiting: "waiting",
|
StatusWaiting: "waiting",
|
||||||
|
@ -39,7 +39,6 @@ type Task struct {
|
|||||||
Steps []*TaskStep `xorm:"-"`
|
Steps []*TaskStep `xorm:"-"`
|
||||||
Attempt int64
|
Attempt int64
|
||||||
RunnerID int64 `xorm:"index"`
|
RunnerID int64 `xorm:"index"`
|
||||||
Result runnerv1.Result
|
|
||||||
Status Status `xorm:"index"`
|
Status Status `xorm:"index"`
|
||||||
Started timeutil.TimeStamp `xorm:"index"`
|
Started timeutil.TimeStamp `xorm:"index"`
|
||||||
Stopped timeutil.TimeStamp
|
Stopped timeutil.TimeStamp
|
||||||
@ -435,9 +434,8 @@ func UpdateTaskByState(state *runnerv1.TaskState) (*Task, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
task.Result = state.Result
|
if state.Result != runnerv1.Result_RESULT_UNSPECIFIED {
|
||||||
if task.Result != runnerv1.Result_RESULT_UNSPECIFIED {
|
task.Status = Status(state.Result)
|
||||||
task.Status = Status(task.Result)
|
|
||||||
task.Stopped = timeutil.TimeStamp(state.StoppedAt.AsTime().Unix())
|
task.Stopped = timeutil.TimeStamp(state.StoppedAt.AsTime().Unix())
|
||||||
if _, err := UpdateRunJob(ctx, &RunJob{
|
if _, err := UpdateRunJob(ctx, &RunJob{
|
||||||
ID: task.JobID,
|
ID: task.JobID,
|
||||||
@ -458,15 +456,16 @@ func UpdateTaskByState(state *runnerv1.TaskState) (*Task, error) {
|
|||||||
|
|
||||||
prevStepDone := true
|
prevStepDone := true
|
||||||
for _, step := range task.Steps {
|
for _, step := range task.Steps {
|
||||||
|
var result runnerv1.Result
|
||||||
if v, ok := stepStates[step.Number]; ok {
|
if v, ok := stepStates[step.Number]; ok {
|
||||||
step.Result = v.Result
|
result = v.Result
|
||||||
step.LogIndex = v.LogIndex
|
step.LogIndex = v.LogIndex
|
||||||
step.LogLength = v.LogLength
|
step.LogLength = v.LogLength
|
||||||
step.Started = convertTimestamp(v.StartedAt)
|
step.Started = convertTimestamp(v.StartedAt)
|
||||||
step.Stopped = convertTimestamp(v.StoppedAt)
|
step.Stopped = convertTimestamp(v.StoppedAt)
|
||||||
}
|
}
|
||||||
if step.Result != runnerv1.Result_RESULT_UNSPECIFIED {
|
if result != runnerv1.Result_RESULT_UNSPECIFIED {
|
||||||
step.Status = Status(step.Result)
|
step.Status = Status(result)
|
||||||
prevStepDone = true
|
prevStepDone = true
|
||||||
} else if prevStepDone {
|
} else if prevStepDone {
|
||||||
step.Status = StatusRunning
|
step.Status = StatusRunning
|
||||||
@ -494,9 +493,8 @@ func StopTask(ctx context.Context, task *Task, result runnerv1.Result) (*Task, e
|
|||||||
e := db.GetEngine(ctx)
|
e := db.GetEngine(ctx)
|
||||||
|
|
||||||
now := timeutil.TimeStampNow()
|
now := timeutil.TimeStampNow()
|
||||||
task.Result = result
|
if result != runnerv1.Result_RESULT_UNSPECIFIED {
|
||||||
if task.Result != runnerv1.Result_RESULT_UNSPECIFIED {
|
task.Status = Status(result)
|
||||||
task.Status = Status(task.Result)
|
|
||||||
task.Stopped = now
|
task.Stopped = now
|
||||||
if _, err := UpdateRunJob(ctx, &RunJob{
|
if _, err := UpdateRunJob(ctx, &RunJob{
|
||||||
ID: task.JobID,
|
ID: task.JobID,
|
||||||
@ -516,8 +514,7 @@ func StopTask(ctx context.Context, task *Task, result runnerv1.Result) (*Task, e
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, step := range task.Steps {
|
for _, step := range task.Steps {
|
||||||
if step.Result == runnerv1.Result_RESULT_UNSPECIFIED {
|
if !step.Status.IsDone() {
|
||||||
step.Result = result
|
|
||||||
step.Status = Status(result)
|
step.Status = Status(result)
|
||||||
if step.Started == 0 {
|
if step.Started == 0 {
|
||||||
step.Started = now
|
step.Started = now
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
|
|
||||||
"code.gitea.io/gitea/models/db"
|
"code.gitea.io/gitea/models/db"
|
||||||
"code.gitea.io/gitea/modules/timeutil"
|
"code.gitea.io/gitea/modules/timeutil"
|
||||||
runnerv1 "gitea.com/gitea/proto-go/runner/v1"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// TaskStep represents a step of Task
|
// TaskStep represents a step of Task
|
||||||
@ -19,7 +18,6 @@ type TaskStep struct {
|
|||||||
Name string
|
Name string
|
||||||
TaskID int64 `xorm:"index unique(task_number)"`
|
TaskID int64 `xorm:"index unique(task_number)"`
|
||||||
Number int64 `xorm:"index unique(task_number)"`
|
Number int64 `xorm:"index unique(task_number)"`
|
||||||
Result runnerv1.Result
|
|
||||||
Status Status `xorm:"index"`
|
Status Status `xorm:"index"`
|
||||||
LogIndex int64
|
LogIndex int64
|
||||||
LogLength int64
|
LogLength int64
|
||||||
|
@ -105,7 +105,6 @@ func addBotTables(x *xorm.Engine) error {
|
|||||||
JobID int64
|
JobID int64
|
||||||
Attempt int64
|
Attempt int64
|
||||||
RunnerID int64 `xorm:"index"`
|
RunnerID int64 `xorm:"index"`
|
||||||
Result int32
|
|
||||||
Status int `xorm:"index"`
|
Status int `xorm:"index"`
|
||||||
Started timeutil.TimeStamp `xorm:"index"`
|
Started timeutil.TimeStamp `xorm:"index"`
|
||||||
Stopped timeutil.TimeStamp
|
Stopped timeutil.TimeStamp
|
||||||
@ -134,7 +133,6 @@ func addBotTables(x *xorm.Engine) error {
|
|||||||
Name string
|
Name string
|
||||||
TaskID int64 `xorm:"index unique(task_number)"`
|
TaskID int64 `xorm:"index unique(task_number)"`
|
||||||
Number int64 `xorm:"index unique(task_number)"`
|
Number int64 `xorm:"index unique(task_number)"`
|
||||||
Result int32
|
|
||||||
Status int `xorm:"index"`
|
Status int `xorm:"index"`
|
||||||
LogIndex int64
|
LogIndex int64
|
||||||
LogLength int64
|
LogLength int64
|
||||||
|
@ -165,11 +165,11 @@ func (s *Service) UpdateTask(
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, status.Errorf(codes.Internal, "can't find the task: %v", err)
|
return nil, status.Errorf(codes.Internal, "can't find the task: %v", err)
|
||||||
}
|
}
|
||||||
if task.Result == runnerv1.Result_RESULT_CANCELLED {
|
if task.Status.IsCancelled() {
|
||||||
return connect.NewResponse(&runnerv1.UpdateTaskResponse{
|
return connect.NewResponse(&runnerv1.UpdateTaskResponse{
|
||||||
State: &runnerv1.TaskState{
|
State: &runnerv1.TaskState{
|
||||||
Id: req.Msg.State.Id,
|
Id: req.Msg.State.Id,
|
||||||
Result: task.Result,
|
Result: task.Status.AsResult(),
|
||||||
},
|
},
|
||||||
}), nil
|
}), nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user