From 7d34469e9db56fd554d2c245359e20658bd9bead Mon Sep 17 00:00:00 2001 From: Chris Gavin Date: Mon, 24 Aug 2020 12:57:44 +0100 Subject: [PATCH] Add a `sync` subcommand. --- cmd/root.go | 4 ++++ cmd/sync.go | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 cmd/sync.go diff --git a/cmd/root.go b/cmd/root.go index dedd683..2aeaba4 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -58,5 +58,9 @@ func Execute(ctx context.Context) error { rootCmd.AddCommand(pushCmd) pushFlags.Init(pushCmd) + rootCmd.AddCommand(syncCmd) + pullFlags.Init(syncCmd) + pushFlags.Init(syncCmd) + return rootCmd.ExecuteContext(ctx) } diff --git a/cmd/sync.go b/cmd/sync.go new file mode 100644 index 0000000..301ed48 --- /dev/null +++ b/cmd/sync.go @@ -0,0 +1,25 @@ +package cmd + +import ( + "github.com/github/codeql-action-sync/internal/cachedirectory" + "github.com/github/codeql-action-sync/internal/pull" + "github.com/github/codeql-action-sync/internal/push" + "github.com/spf13/cobra" +) + +var syncCmd = &cobra.Command{ + Use: "sync", + Short: "Sync the CodeQL Action from GitHub to a GitHub Enterprise Server installation.", + RunE: func(cmd *cobra.Command, args []string) error { + cacheDirectory := cachedirectory.NewCacheDirectory(rootFlags.cacheDir) + err := pull.Pull(cmd.Context(), cacheDirectory) + if err != nil { + return err + } + err = push.Push(cmd.Context(), cacheDirectory, pushFlags.destinationURL, pushFlags.destinationToken, pushFlags.destinationRepository) + if err != nil { + return err + } + return nil + }, +}