From 5c9e79c68ca616b7825f591ebd2ae4403611da4c Mon Sep 17 00:00:00 2001 From: Sebastien Le Digabel Date: Wed, 24 May 2023 16:49:36 +0100 Subject: [PATCH] Rebasing after #67 The `pr-status` command was added after and needed the extra danse to include the new repo file option. Also renamed the `pr_status` package into `prstatus` as gofumpt told me packages should not include underscores. https://go.dev/blog/package-names --- .../pr_status.go => prstatus/prstatus.go} | 23 +++++++++++++------ .../prstatus_test.go} | 6 ++--- cmd/root.go | 6 ++--- internal/testsupport/testsupport.go | 8 +++---- 4 files changed, 26 insertions(+), 17 deletions(-) rename cmd/{pr_status/pr_status.go => prstatus/prstatus.go} (92%) rename cmd/{pr_status/pr_status_test.go => prstatus/prstatus_test.go} (99%) diff --git a/cmd/pr_status/pr_status.go b/cmd/prstatus/prstatus.go similarity index 92% rename from cmd/pr_status/pr_status.go rename to cmd/prstatus/prstatus.go index d92d918..05614c1 100644 --- a/cmd/pr_status/pr_status.go +++ b/cmd/prstatus/prstatus.go @@ -13,19 +13,21 @@ * */ -package pr_status +package prstatus import ( "fmt" + "os" + "path" + "strings" + "github.com/fatih/color" "github.com/rodaine/table" + "github.com/spf13/cobra" + "github.com/skyscanner/turbolift/internal/campaign" "github.com/skyscanner/turbolift/internal/github" "github.com/skyscanner/turbolift/internal/logging" - "github.com/spf13/cobra" - "os" - "path" - "strings" ) var reactionsOrder = []string{ @@ -52,7 +54,10 @@ var reactionsMapping = map[string]string{ var gh github.GitHub = github.NewRealGitHub() -var list bool +var ( + list bool + repoFile string +) func NewPrStatusCmd() *cobra.Command { cmd := &cobra.Command{ @@ -61,6 +66,7 @@ func NewPrStatusCmd() *cobra.Command { Run: run, } cmd.Flags().BoolVar(&list, "list", false, "Displays a listing by PR") + cmd.Flags().StringVar(&repoFile, "repos", "repos.txt", "A file containing a list of repositories to clone.") return cmd } @@ -68,8 +74,11 @@ func NewPrStatusCmd() *cobra.Command { func run(c *cobra.Command, _ []string) { logger := logging.NewLogger(c) + // dir, err := campaign.OpenCampaign() + options := campaign.NewCampaignOptions() + options.RepoFilename = repoFile readCampaignActivity := logger.StartActivity("Reading campaign data") - dir, err := campaign.OpenCampaign() + dir, err := campaign.OpenCampaign(options) if err != nil { readCampaignActivity.EndWithFailure(err) return diff --git a/cmd/pr_status/pr_status_test.go b/cmd/prstatus/prstatus_test.go similarity index 99% rename from cmd/pr_status/pr_status_test.go rename to cmd/prstatus/prstatus_test.go index 7026fed..4e974cc 100644 --- a/cmd/pr_status/pr_status_test.go +++ b/cmd/prstatus/prstatus_test.go @@ -13,7 +13,7 @@ * */ -package pr_status +package prstatus import ( "bytes" @@ -22,9 +22,10 @@ import ( "os" "testing" + "github.com/stretchr/testify/assert" + "github.com/skyscanner/turbolift/internal/github" "github.com/skyscanner/turbolift/internal/testsupport" - "github.com/stretchr/testify/assert" ) func init() { @@ -109,7 +110,6 @@ func runCommand(showList bool) (string, error) { outBuffer := bytes.NewBufferString("") cmd.SetOut(outBuffer) err := cmd.Execute() - if err != nil { return outBuffer.String(), err } diff --git a/cmd/root.go b/cmd/root.go index 0df73cc..ec44eab 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -19,16 +19,16 @@ import ( "fmt" "log" + "github.com/spf13/cobra" + cloneCmd "github.com/skyscanner/turbolift/cmd/clone" commitCmd "github.com/skyscanner/turbolift/cmd/commit" createPrsCmd "github.com/skyscanner/turbolift/cmd/create_prs" "github.com/skyscanner/turbolift/cmd/flags" foreachCmd "github.com/skyscanner/turbolift/cmd/foreach" initCmd "github.com/skyscanner/turbolift/cmd/init" + prStatusCmd "github.com/skyscanner/turbolift/cmd/prstatus" updatePrsCmd "github.com/skyscanner/turbolift/cmd/update_prs" - "github.com/spf13/cobra" - - prStatusCmd "github.com/skyscanner/turbolift/cmd/pr_status" ) var ( diff --git a/internal/testsupport/testsupport.go b/internal/testsupport/testsupport.go index b974b22..267aa11 100644 --- a/internal/testsupport/testsupport.go +++ b/internal/testsupport/testsupport.go @@ -41,7 +41,7 @@ func PrepareTempCampaign(createDirs bool, repos ...string) string { tempDir := CreateAndEnterTempDirectory() delimitedList := strings.Join(repos, "\n") - err := ioutil.WriteFile("repos.txt", []byte(delimitedList), os.ModePerm|0644) + err := ioutil.WriteFile("repos.txt", []byte(delimitedList), os.ModePerm|0o644) if err != nil { panic(err) } @@ -49,7 +49,7 @@ func PrepareTempCampaign(createDirs bool, repos ...string) string { if createDirs { for _, name := range repos { dirToCreate := path.Join("work", name) - err := os.MkdirAll(dirToCreate, os.ModeDir|0755) + err := os.MkdirAll(dirToCreate, os.ModeDir|0o755) if err != nil { panic(err) } @@ -57,7 +57,7 @@ func PrepareTempCampaign(createDirs bool, repos ...string) string { } dummyPrDescription := "# PR title\nPR body" - err = ioutil.WriteFile("README.md", []byte(dummyPrDescription), os.ModePerm|0644) + err = ioutil.WriteFile("README.md", []byte(dummyPrDescription), os.ModePerm|0o644) if err != nil { panic(err) } @@ -67,7 +67,7 @@ func PrepareTempCampaign(createDirs bool, repos ...string) string { func CreateAnotherRepoFile(filename string, repos ...string) { delimitedList := strings.Join(repos, "\n") - err := ioutil.WriteFile(filename, []byte(delimitedList), os.ModePerm|0644) + err := ioutil.WriteFile(filename, []byte(delimitedList), os.ModePerm|0o644) if err != nil { panic(err) }