Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

import https://github.com/adobe/rules_gitops/commit/0483dedecef451c68… #12

Merged
merged 1 commit into from
Dec 5, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 12 additions & 7 deletions gitops/prer/create_gitops_prs.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ var (
releaseBranch = flag.String("release_branch", "master", "filter gitops targets by release branch")
bazelCmd = flag.String("bazel_cmd", "tools/bazel", "bazel binary to use")
workspace = flag.String("workspace", "", "path to workspace root")
repo = flag.String("git_repo", "https://bitbucket.tubemogul.info/scm/tm/repo.git", "git repo location")
repo = flag.String("git_repo", "", "git repo location")
gitMirror = flag.String("git_mirror", "", "git mirror location, like /mnt/mirror/bitbucket.tubemogul.info/tm/repo.git for jenkins")
gitopsPath = flag.String("gitops_path", "cloud", "location to store files in repo.")
gitopsTmpDir = flag.String("gitops_tmpdir", os.TempDir(), "location to check out git tree with /cloud.")
target = flag.String("target", "//... except //experimental/...", "target to scan. Useful for debugging only")
pushParallelism = flag.Int("push_parallelism", 5, "Number of image pushes to perform concurrently")
prInto = flag.String("gitops_pr_into", "master", "use this branch as the source branch and target for deployment PR")
prBody = flag.String("gitops_pr_body", "GitOps deployment <branch>", "a body message for deployment PR")
prTitle = flag.String("gitops_pr_title", "GitOps deployment <branch>", "a title for deployment PR")
prBody = flag.String("gitops_pr_body", "", "a body message for deployment PR")
prTitle = flag.String("gitops_pr_title", "", "a title for deployment PR")
branchName = flag.String("branch_name", "unknown", "Branch name to use in commit message")
gitCommit = flag.String("git_commit", "unknown", "Git commit to use in commit message")
deploymentBranchSuffix = flag.String("deployment_branch_suffix", "", "suffix to add to all deployment branch names")
Expand Down Expand Up @@ -252,12 +252,17 @@ func main() {
continue
}

if *prTitle == "" {
*prTitle = fmt.Sprintf("GitOps deployment %s", branch)
title := *prTitle
if title == "" {
title = fmt.Sprintf("GitOps deployment %s", branch)
}

err := gitServer.CreatePR(branch, *prInto, *prTitle, *prBody)
if err != nil {
body := *prBody
if body == "" {
body = branch
}
Comment on lines +255 to +263

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The default values for title and body are not very descriptive. If prTitle and prBody are not provided, they are set to "GitOps deployment {branch}" and "{branch}" respectively. This might not provide enough context for someone looking at the PR. Consider providing more descriptive default values or enforcing that these values are provided by the user.


if err := gitServer.CreatePR(branch, *prInto, title, body); err != nil {
log.Fatal("unable to create PR: ", err)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The error handling here is quite severe. Using log.Fatal will cause the program to immediately exit, which might not be the desired behavior in all cases. If the creation of a single PR fails, it might be better to log the error and continue with the next one, rather than stopping the entire process. Consider changing this to a less severe error handling method, such as log.Error, and continue with the next iteration. This way, a single failure won't stop the entire process.

}
}
Expand Down