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