b8d7e947cf
* refactor: fix savestate in pre steps * fix pre steps collision * fix tests * remove * enable tests * Update pkg/runner/action.go * Rename InterActionState to IntraActionState Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
45 lines
822 B
Go
45 lines
822 B
Go
package model
|
|
|
|
import "fmt"
|
|
|
|
type stepStatus int
|
|
|
|
const (
|
|
StepStatusSuccess stepStatus = iota
|
|
StepStatusFailure
|
|
StepStatusSkipped
|
|
)
|
|
|
|
var stepStatusStrings = [...]string{
|
|
"success",
|
|
"failure",
|
|
"skipped",
|
|
}
|
|
|
|
func (s stepStatus) MarshalText() ([]byte, error) {
|
|
return []byte(s.String()), nil
|
|
}
|
|
|
|
func (s *stepStatus) UnmarshalText(b []byte) error {
|
|
str := string(b)
|
|
for i, name := range stepStatusStrings {
|
|
if name == str {
|
|
*s = stepStatus(i)
|
|
return nil
|
|
}
|
|
}
|
|
return fmt.Errorf("invalid step status %q", str)
|
|
}
|
|
|
|
func (s stepStatus) String() string {
|
|
if int(s) >= len(stepStatusStrings) {
|
|
return ""
|
|
}
|
|
return stepStatusStrings[s]
|
|
}
|
|
|
|
type StepResult struct {
|
|
Outputs map[string]string `json:"outputs"`
|
|
Conclusion stepStatus `json:"conclusion"`
|
|
Outcome stepStatus `json:"outcome"`
|
|
}
|