@@ -19,10 +19,7 @@ import (
1919 "context"
2020 "errors"
2121 "fmt"
22- "log/slog"
23- "regexp"
2422 "slices"
25- "strconv"
2623 "strings"
2724
2825 "github.com/arduino/go-paths-helper"
@@ -43,8 +40,7 @@ type AppStatusInfo struct {
4340}
4441
4542type containerState struct {
46- Status Status
47- StatusMessage string
43+ Status Status
4844}
4945
5046// parseAppStatus takes all the containers that matches the DockerAppLabel,
@@ -66,8 +62,7 @@ func parseAppStatus(containers []container.Summary) []AppStatusInfo {
6662 continue
6763 }
6864 appsStatusMap [appPath ] = append (appsStatusMap [appPath ], containerState {
69- Status : StatusFromDockerState (c .State ),
70- StatusMessage : c .Status ,
65+ Status : StatusFromDockerState (c .State , c .Status ),
7166 })
7267 }
7368
@@ -100,7 +95,7 @@ func parseAppStatus(containers []container.Summary) []AppStatusInfo {
10095 appendResult (appPath , StatusFailed )
10196 continue
10297 }
103- if slices .ContainsFunc (s , func (v containerState ) bool { return v .Status == StatusStopped && checkExitCode ( v ) }) {
98+ if slices .ContainsFunc (s , func (v containerState ) bool { return v .Status == StatusStopped }) {
10499 appendResult (appPath , StatusFailed )
105100 continue
106101 }
@@ -265,20 +260,3 @@ func setStatusLeds(trigger LedTrigger) error {
265260 }
266261 return nil
267262}
268-
269- func checkExitCode (state containerState ) bool {
270- var exitCodeRegex = regexp .MustCompile (`Exited \((\d+)\)` )
271- result := false
272- matches := exitCodeRegex .FindStringSubmatch (state .StatusMessage )
273-
274- exitCode , err := strconv .Atoi (matches [1 ])
275- if err != nil {
276- slog .Error ("Failed to parse exit code from status message" , slog .String ("statusMessage" , state .StatusMessage ), slog .String ("error" , err .Error ()))
277- return false
278- }
279- if exitCode >= 0 && exitCode < 128 {
280- result = true
281- }
282-
283- return result
284- }
0 commit comments