| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright 2017 The LUCI Authors. All rights reserved. | 
|  | 2 // Use of this source code is governed under the Apache License, Version 2.0 | 
|  | 3 // that can be found in the LICENSE file. | 
|  | 4 | 
|  | 5 //go:generate stringer -type=Status | 
|  | 6 | 
|  | 7 package model | 
|  | 8 | 
|  | 9 import "encoding/json" | 
|  | 10 | 
|  | 11 // Status is a discrete status for the purpose of colorizing a component. | 
|  | 12 // These are based off the Material Design Bootstrap color palettes. | 
|  | 13 type Status int | 
|  | 14 | 
|  | 15 const ( | 
|  | 16         // NotRun if the component has not yet been run. | 
|  | 17         NotRun Status = iota // 100 Gray | 
|  | 18 | 
|  | 19         // Running if the component is currently running. | 
|  | 20         Running // 100 Teal | 
|  | 21 | 
|  | 22         // Success if the component has finished executing and is not noteworthy
    . | 
|  | 23         Success // A200 Green | 
|  | 24 | 
|  | 25         // Failure if the component has finished executing and contains a failur
    e. | 
|  | 26         Failure // A200 Red | 
|  | 27 | 
|  | 28         // Warning just like from the buildbot days. | 
|  | 29         Warning // 200 Yellow | 
|  | 30 | 
|  | 31         // InfraFailure if the component has finished incompletely due to a fail
    ure in infra. | 
|  | 32         InfraFailure // A100 Purple | 
|  | 33 | 
|  | 34         // Exception if the component has finished incompletely and unexpectedly
    . This | 
|  | 35         // is used for buildbot builds. | 
|  | 36         Exception // A100 Purple | 
|  | 37 | 
|  | 38         // Expired if the component was never scheduled due to resource exhausti
    on. | 
|  | 39         Expired // A200 Purple | 
|  | 40 | 
|  | 41         // DependencyFailure if the component has finished incompletely due to a
     failure in a | 
|  | 42         // dependency. | 
|  | 43         DependencyFailure // 100 Amber | 
|  | 44 | 
|  | 45         // WaitingDependency if the component has finished or paused execution d
    ue to an | 
|  | 46         // incomplete dep. | 
|  | 47         WaitingDependency // 100 Brown | 
|  | 48 ) | 
|  | 49 | 
|  | 50 // Terminal returns true if the step status won't change. | 
|  | 51 func (s Status) Terminal() bool { | 
|  | 52         switch s { | 
|  | 53         case Success, Failure, InfraFailure, Warning, DependencyFailure, Expired
    : | 
|  | 54                 return true | 
|  | 55         default: | 
|  | 56                 return false | 
|  | 57         } | 
|  | 58 } | 
|  | 59 | 
|  | 60 // MarshalJSON renders enums into String rather than an int when marshalling. | 
|  | 61 func (s Status) MarshalJSON() ([]byte, error) { | 
|  | 62         return json.Marshal(s.String()) | 
|  | 63 } | 
| OLD | NEW | 
|---|