(run Run, next RunStatus)
| 3586 | } |
| 3587 | |
| 3588 | func requireRunTransition(run Run, next RunStatus) error { |
| 3589 | current := run.Status.Normalize() |
| 3590 | target := next.Normalize() |
| 3591 | if allowsRunTransition(current, target) { |
| 3592 | return nil |
| 3593 | } |
| 3594 | return fmt.Errorf( |
| 3595 | "%w: task run %q cannot transition from %q to %q", |
| 3596 | ErrInvalidStatusTransition, |
| 3597 | run.ID, |
| 3598 | current, |
| 3599 | target, |
| 3600 | ) |
| 3601 | } |
| 3602 | |
| 3603 | func allowsRunTransition(current RunStatus, next RunStatus) bool { |
| 3604 | switch current.Normalize() { |
no test coverage detected