package main import ( "context" "fmt" "os" "os/signal" "code.geekeey.de/actions/artifacts/internal/pull" "code.geekeey.de/actions/artifacts/internal/push" "code.geekeey.de/actions/sdk" ) func main() { if len(os.Args) < 2 { fmt.Fprintln(os.Stderr, "usage: artifacts ") os.Exit(1) } action := sdk.New() ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt) defer cancel() var err error switch os.Args[1] { case "push": err = push.New(action).Run(ctx) case "pull": err = pull.New(action).Run(ctx) default: err = fmt.Errorf("unknown command %q", os.Args[1]) } if err != nil { action.Errorf("%s", err) os.Exit(1) } }