From ac953ab4111a9aae049a9e264cb0ca88b63e63b5 Mon Sep 17 00:00:00 2001 From: username-dorf Date: Fri, 5 May 2023 15:12:21 +0300 Subject: [PATCH 1/2] Add branch selection for remote repo --- cmd/main.go | 7 +++++-- cmd/root.go | 8 +++++++- entrypoint.sh | 4 ++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index b563aa3..fe7ccd7 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -70,6 +70,7 @@ type SemVer struct { type Setup struct { RepositoryHandler *git.Repository RepositoryName string + RepositoryBranch string RepositoryLocalPath string LocalConfigFile string Wording Wording @@ -247,10 +248,12 @@ func (s *Setup) Prepare() error { fmt.Println("Unable to parse repository URL", s.RepositoryName, "Error:", err.Error()) return err } - s.RepositoryLocalPath = fmt.Sprintf("/tmp/semver/%s", u.Path) + s.RepositoryLocalPath = fmt.Sprintf("/tmp/semver/%s/%s", u.Path, s.RepositoryBranch) os.RemoveAll(s.RepositoryLocalPath) s.RepositoryHandler, err = git.PlainClone(s.RepositoryLocalPath, false, &git.CloneOptions{ - URL: s.RepositoryName, + URL: s.RepositoryName, + ReferenceName: plumbing.NewBranchReferenceName(s.RepositoryBranch), + SingleBranch: true, Auth: &http.BasicAuth{ Username: os.Getenv("GITHUB_USERNAME"), Password: os.Getenv("GITHUB_TOKEN"), diff --git a/cmd/root.go b/cmd/root.go index 123b642..8811f4b 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -5,7 +5,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, @@ -41,6 +41,10 @@ func (r *Setup) setupCobra() { if err != nil { panic(err) } + r.RepositoryBranch, err = rootCmd.Flags().GetString("branch") + if err != nil { + panic(err) + } r.LocalConfigFile, err = rootCmd.Flags().GetString("config") if err != nil { panic(err) @@ -53,6 +57,7 @@ func (r *Setup) setupCobra() { type myParams struct { varRepoName string + varRepoBranch string varLocalCfg string varUseLocal bool varShowVersion bool @@ -69,6 +74,7 @@ func init() { repo = &Setup{} cobra.OnInitialize(repo.setupCobra) rootCmd.PersistentFlags().StringVarP(¶ms.varRepoName, "repository", "r", "https://github.com/lukaszraczylo/simple-gql-client", "Remote repository URL.") + rootCmd.PersistentFlags().StringVarP(¶ms.varRepoBranch, "branch", "b", "main", "Remote repository URL Branch.") rootCmd.PersistentFlags().StringVarP(¶ms.varLocalCfg, "config", "c", "semver.yaml", "Path to config file") rootCmd.PersistentFlags().BoolVarP(¶ms.varUseLocal, "local", "l", false, "Use local repository") rootCmd.PersistentFlags().BoolVarP(¶ms.varShowVersion, "version", "v", false, "Display version") diff --git a/entrypoint.sh b/entrypoint.sh index 35e09fd..a26dd7e 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -18,6 +18,10 @@ if [[ ! -z "$INPUT_REPOSITORY_URL" ]]; then FLAGS="${FLAGS} -r $INPUT_REPOSITORY_URL" fi +if [[ ! -z "$INPUT_REPOSITORY_BRANCH" ]]; then + FLAGS="${FLAGS} -b $INPUT_REPOSITORY_BRANCH" +fi + if [[ ! -z "$INPUT_REPOSITORY_LOCAL" ]]; then FLAGS="${FLAGS} -l" fi From 3859fe04699c36ec7409987030abbf67db29e515 Mon Sep 17 00:00:00 2001 From: username-dorf Date: Mon, 8 May 2023 12:03:01 +0300 Subject: [PATCH 2/2] Update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 567e6f5..77dfd3e 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ Flags: -h, --help help for semver-gen -l, --local Use local repository -r, --repository string Remote repository URL. (default "https://github.com/lukaszraczylo/simple-gql-client") + -b, --branch string Remote repository URL Branch. (default "main") -s, --strict Strict matching -u, --update Update binary with latest -v, --version Display version