package cmd import ( "context" "fmt" "os" "edge-infra.dev/pkg/f8n/warehouse/release/cmd/build" "edge-infra.dev/pkg/f8n/warehouse/release/cmd/lock" "edge-infra.dev/pkg/f8n/warehouse/release/cmd/render" "edge-infra.dev/pkg/lib/cli/sink" ) func New() (*sink.Command, error) { cmd := &sink.Command{ Use: "release [command] [flags]", Short: "release is a tool to build Release Artifacts from collections of warehouse pallets", Commands: []*sink.Command{ build.New(), render.New(), lock.New(), }, } return cmd, nil } func Run(ctx context.Context) error { cmd, err := New() if err != nil { fmt.Fprintln(os.Stderr, "error: failed to instantiate CLI: ", err) return err } return cmd.ParseAndRun(ctx, os.Args[1:]) }