summaryrefslogtreecommitdiff
path: root/bin/secpick
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2018-12-18 10:21:29 +0100
committerJames Lopez <james@jameslopez.es>2018-12-18 10:21:29 +0100
commit9ba303bfed17a85bd0101409a5b65825fb51e743 (patch)
tree739d4ff66b3a036ced0dfc73351c2bd65dc65014 /bin/secpick
parent651d12645b28a05a5a20734c5b3019b71eaa3dd2 (diff)
downloadgitlab-ce-9ba303bfed17a85bd0101409a5b65825fb51e743.tar.gz
Update secpick script
Diffstat (limited to 'bin/secpick')
-rwxr-xr-xbin/secpick23
1 files changed, 22 insertions, 1 deletions
diff --git a/bin/secpick b/bin/secpick
index 2b263d452c9..11acdd82226 100755
--- a/bin/secpick
+++ b/bin/secpick
@@ -1,4 +1,7 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
+
+require 'active_support/core_ext/object/to_query'
require 'optparse'
require 'open3'
require 'rainbow/refinement'
@@ -6,6 +9,7 @@ using Rainbow
BRANCH_PREFIX = 'security'.freeze
REMOTE = 'dev'.freeze
+NEW_MR_URL = 'https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/new'.freeze
options = { version: nil, branch: nil, sha: nil }
@@ -48,7 +52,24 @@ end.freeze
command = "git fetch #{REMOTE} #{stable_branch} && git checkout #{stable_branch} && git pull #{REMOTE} #{stable_branch} && git checkout -B #{branch} && git cherry-pick #{options[:sha]} && git push #{REMOTE} #{branch} && git checkout #{original_branch}"
-_stdin, stdout, stderr = Open3.popen3(command)
+stdin, stdout, stderr, wait_thr = Open3.popen3(command)
puts stdout.read&.green
puts stderr.read&.red
+
+if wait_thr.value.success?
+ params = {
+ merge_request: {
+ source_branch: branch,
+ target_branch: stable_branch,
+ title: "WIP: [#{options[:version].tr('-', '.')}] ",
+ description: '/label ~security'
+ }
+ }
+
+ puts "#{NEW_MR_URL}?#{params.to_query}".blue
+end
+
+stdin.close
+stdout.close
+stderr.close