...

Source file src/edge-infra.dev/cmd/tools/art/main.go

Documentation: edge-infra.dev/cmd/tools/art

     1  // Package main contains the binary entrypoint for art, a tool for uploading
     2  // job artifacts to GCS.
     3  package main
     4  
     5  import (
     6  	"fmt"
     7  	"os"
     8  
     9  	"edge-infra.dev/cmd/tools/art/actions"
    10  	"edge-infra.dev/cmd/tools/art/argo"
    11  	"edge-infra.dev/pkg/lib/cli"
    12  	"edge-infra.dev/pkg/lib/cli/sink"
    13  	"edge-infra.dev/pkg/lib/runtime/manager/signals"
    14  	"edge-infra.dev/pkg/lib/runtime/version"
    15  )
    16  
    17  func main() {
    18  	cmd := New()
    19  	ctx := signals.SetupSignalHandler()
    20  	if err := cmd.Parse(os.Args[1:]); err != nil {
    21  		fmt.Fprintln(os.Stderr, "failed to parse: ", err)
    22  		os.Exit(1)
    23  	}
    24  
    25  	if err := cmd.Run(ctx); err != nil {
    26  		fmt.Fprintln(os.Stderr, "failed to run: ", err)
    27  		os.Exit(1)
    28  	}
    29  }
    30  
    31  func New() *sink.Command {
    32  	cmd := &sink.Command{
    33  		Use:   "art [command] [directory]...",
    34  		Short: "uploads artifacts from [directory] to google cloud storage",
    35  		Commands: []*sink.Command{
    36  			cli.NewVersionCmd(version.New()),
    37  			actions.New(),
    38  			argo.New(),
    39  		},
    40  	}
    41  
    42  	return cmd
    43  }
    44  

View as plain text