func cmdBuilds(c *cli.Context) { _, app, err := stdcli.DirApp(c, ".") if err != nil { stdcli.Error(err) return } builds, err := rackClient(c).GetBuilds(app) if err != nil { stdcli.Error(err) return } t := stdcli.NewTable("ID", "STATUS", "RELEASE", "STARTED", "ELAPSED", "DESC") for _, build := range builds { started := humanizeTime(build.Started) elapsed := stdcli.Duration(build.Started, build.Ended) if build.Ended.IsZero() { elapsed = "" } t.AddRow(build.Id, build.Status, build.Release, started, elapsed, build.Description) } t.Print() }
func cmdBuildsInfo(c *cli.Context) error { _, app, err := stdcli.DirApp(c, ".") if err != nil { return stdcli.Error(err) } if len(c.Args()) != 1 { stdcli.Usage(c, "info") return nil } build := c.Args()[0] b, err := rackClient(c).GetBuild(app, build) if err != nil { return stdcli.Error(err) } fmt.Printf("Build %s\n", b.Id) fmt.Printf("Status %s\n", b.Status) fmt.Printf("Release %s\n", b.Release) fmt.Printf("Description %s\n", b.Description) fmt.Printf("Started %s\n", humanizeTime(b.Started)) fmt.Printf("Elapsed %s\n", stdcli.Duration(b.Started, b.Ended)) return nil }
func cmdBuilds(c *cli.Context) error { _, app, err := stdcli.DirApp(c, ".") if err != nil { return stdcli.ExitError(err) } if len(c.Args()) > 0 { return stdcli.ExitError(fmt.Errorf("`convox builds` does not take arguments. Perhaps you meant `convox builds create`?")) } if c.Bool("help") { stdcli.Usage(c, "") return nil } builds, err := rackClient(c).GetBuilds(app) if err != nil { return stdcli.ExitError(err) } t := stdcli.NewTable("ID", "STATUS", "RELEASE", "STARTED", "ELAPSED", "DESC") for _, build := range builds { started := humanizeTime(build.Started) elapsed := stdcli.Duration(build.Started, build.Ended) if build.Ended.IsZero() { elapsed = "" } t.AddRow(build.Id, build.Status, build.Release, started, elapsed, build.Description) } t.Print() return nil }