diff --git a/internal/pkg/build/build.go b/internal/pkg/build/build.go index 83abf5e0ff..0ffa990e6f 100644 --- a/internal/pkg/build/build.go +++ b/internal/pkg/build/build.go @@ -22,11 +22,11 @@ func (i Info) FullVersion() string { return fmt.Sprintf("%s [%s built %s] (FIPS-distribution: %v)", i.Version, i.Commit, i.BuildTime, FIPSDistribution) } -// Time parses the given string using RFC3339, or returns an empty time.Time. -func Time(stime string) time.Time { +// Time parses the given string using RFC3339, or returns an error if parsing fails. +func Time(stime string) (time.Time, error) { t, err := time.Parse(time.RFC3339, stime) if err != nil { - return time.Time{} + return time.Time{}, err } - return t -} + return t, nil +} \ No newline at end of file diff --git a/main.go b/main.go index 72ceee6e9e..d5cb261774 100644 --- a/main.go +++ b/main.go @@ -29,10 +29,16 @@ var ( ) func main() { + buildTime, err := build.Time(BuildTime) + if err != nil { + fmt.Fprintf(os.Stderr, "invalid build time %q: %v\n", BuildTime, err) + os.Exit(1) + } + cmd := fleet.NewCommand(build.Info{ Version: Version, Commit: Commit, - BuildTime: build.Time(BuildTime), + BuildTime: buildTime, }) if err := cmd.Execute(); err != nil { fmt.Fprintln(os.Stderr, err)