solano 1.31.10 → 1.31.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/solano/cli/commands/rerun.rb +3 -1
- data/lib/solano/cli/commands/spec.rb +17 -6
- data/lib/solano/cli/commands/status.rb +10 -4
- data/lib/solano/cli/suite.rb +17 -4
- data/lib/solano/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0e3f777963ff4ba7d7d29a648d8381f9133ac8a8
|
|
4
|
+
data.tar.gz: f975a434acb278412e4c91d24310a36961818ef2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4891443cf77f11d21b08e193e2a59af67648129b0a525a3572514e256d4193932f6f720075dd373921533df2326f7eb18b40effa577dbc3a55c0428cd1979c23
|
|
7
|
+
data.tar.gz: 4b77d4b6ded750aab37667a20993429af93c53d8b3c76d59d446e9c8d9211ee837740855bb55d5f0980d8ec648862654ca47845e608ca86a7a574944d440c08b
|
|
@@ -10,6 +10,7 @@ module Solano
|
|
|
10
10
|
method_option :force, :type=>:boolean, :default => false
|
|
11
11
|
method_option :profile, :type => :string, :default => nil, :aliases => %w(--profile-name)
|
|
12
12
|
method_option :queue, :type => :string, :default => nil
|
|
13
|
+
method_option :pipeline, type: :string, default: nil
|
|
13
14
|
def rerun(session_id=nil)
|
|
14
15
|
params = {:scm => true, :repo => false}
|
|
15
16
|
if session_id.nil? then
|
|
@@ -38,6 +39,7 @@ module Solano
|
|
|
38
39
|
cmd += " --force" if options[:force]
|
|
39
40
|
cmd += " --profile=#{profile}" if profile
|
|
40
41
|
cmd += " --queue=#{options[:queue]}" if options[:queue]
|
|
42
|
+
cmd += " --pipeline=#{options[:pipeline]}" if options[:pipeline]
|
|
41
43
|
cmd += " #{tests.join(" ")}"
|
|
42
44
|
|
|
43
45
|
say cmd
|
|
@@ -49,7 +51,7 @@ module Solano
|
|
|
49
51
|
def session_id_for_current_suite
|
|
50
52
|
return unless suite_for_current_branch?
|
|
51
53
|
suite_params = {
|
|
52
|
-
:suite_id =>
|
|
54
|
+
:suite_id => calc_current_suite_id,
|
|
53
55
|
:active => false,
|
|
54
56
|
:limit => 1,
|
|
55
57
|
:origin => %w(ci cli)
|
|
@@ -27,15 +27,26 @@ module Solano
|
|
|
27
27
|
method_option :default_branch, :type => :string, :default => nil
|
|
28
28
|
method_option :force_snapshot, :type => :boolean, :default => false
|
|
29
29
|
method_option :volume, :type => :string, :default => nil
|
|
30
|
+
method_option :pipeline, type: :string, default: nil
|
|
30
31
|
def spec(*pattern)
|
|
31
32
|
machine_data = {}
|
|
32
33
|
|
|
33
34
|
solano_setup({:repo => true})
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
unless options[:pipeline]
|
|
37
|
+
suites = @solano_api.get_suites.select { |suite| suite['repo_url'] == @scm.origin_url }
|
|
38
|
+
repo_names = suites.map { |suite| suite['repo_name'] }.uniq
|
|
39
|
+
if repo_names.count > 1
|
|
40
|
+
say "You already have pipelines with url: #{@scm.origin_url}"
|
|
41
|
+
repo_names.each { |repo_name| say " " + repo_name }
|
|
42
|
+
exit_failure "You must specify an pipeline by passing the --pipeline option."
|
|
43
|
+
end
|
|
44
|
+
end
|
|
36
45
|
|
|
46
|
+
suite_auto_configure unless options[:machine]
|
|
37
47
|
exit_failure unless suite_for_current_branch?
|
|
38
48
|
|
|
49
|
+
suite_id = calc_current_suite_id
|
|
39
50
|
if !options[:machine] && @solano_api.get_keys.empty? then
|
|
40
51
|
warn(Text::Warning::NO_SSH_KEY)
|
|
41
52
|
end
|
|
@@ -81,9 +92,9 @@ module Solano
|
|
|
81
92
|
end
|
|
82
93
|
|
|
83
94
|
# Call the API to get the suite and its tests
|
|
84
|
-
suite_details = @solano_api.get_suite_by_id(@solano_api.current_suite_id,
|
|
85
|
-
:session_id => options[:session_id])
|
|
86
95
|
|
|
96
|
+
suite_details = @solano_api.get_suite_by_id(suite_id,
|
|
97
|
+
:session_id => options[:session_id])
|
|
87
98
|
start_time = Time.now
|
|
88
99
|
|
|
89
100
|
new_session_params = {
|
|
@@ -135,7 +146,7 @@ module Solano
|
|
|
135
146
|
session_data = if session_id && session_id > 0
|
|
136
147
|
@solano_api.update_session(session_id, new_session_params)
|
|
137
148
|
else
|
|
138
|
-
sess, manager = @solano_api.create_session(
|
|
149
|
+
sess, manager = @solano_api.create_session(suite_id, new_session_params)
|
|
139
150
|
sess
|
|
140
151
|
end
|
|
141
152
|
|
|
@@ -186,7 +197,7 @@ module Solano
|
|
|
186
197
|
machine_data[:session_id] = session_id
|
|
187
198
|
|
|
188
199
|
# Register the tests
|
|
189
|
-
@solano_api.register_session(session_id,
|
|
200
|
+
@solano_api.register_session(session_id, suite_id, test_pattern, test_exclude_pattern)
|
|
190
201
|
|
|
191
202
|
# Start the tests
|
|
192
203
|
start_test_executions = @solano_api.start_session(session_id, test_execution_params)
|
|
@@ -290,7 +301,7 @@ module Solano
|
|
|
290
301
|
say Text::Process::SUMMARY_STATUS % session_status
|
|
291
302
|
say ""
|
|
292
303
|
|
|
293
|
-
suite = suite_details.merge({"id" =>
|
|
304
|
+
suite = suite_details.merge({"id" => suite_id})
|
|
294
305
|
@api_config.set_suite(suite)
|
|
295
306
|
@api_config.write_config
|
|
296
307
|
|
|
@@ -9,6 +9,7 @@ module Solano
|
|
|
9
9
|
method_option :commit, :type => :string, :default => nil
|
|
10
10
|
method_option :account, :type => :string, :default => nil,
|
|
11
11
|
:aliases => %w(--org --organization)
|
|
12
|
+
method_option :pipeline, type: :string, default: nil
|
|
12
13
|
def status
|
|
13
14
|
solano_setup({:repo => true})
|
|
14
15
|
|
|
@@ -16,9 +17,8 @@ module Solano
|
|
|
16
17
|
# solano_setup asserts that we're in a supported SCM repo
|
|
17
18
|
origin_url = @scm.origin_url
|
|
18
19
|
repo_params = {
|
|
19
|
-
:active => true
|
|
20
|
-
|
|
21
|
-
}
|
|
20
|
+
:active => true
|
|
21
|
+
}
|
|
22
22
|
|
|
23
23
|
if suite_for_current_branch? then
|
|
24
24
|
status_branch = @solano_api.current_branch
|
|
@@ -40,7 +40,12 @@ module Solano
|
|
|
40
40
|
suite_params[:last_commit_id] = options[:commit]
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
if options[:pipeline]
|
|
44
|
+
suites = @solano_api.get_suites(:branch => status_branch).select { |s| s['repo_name'] == options[:pipeline] }
|
|
45
|
+
else
|
|
46
|
+
suites = @solano_api.get_suites(:repo_url => origin_url, :branch => status_branch)
|
|
47
|
+
end
|
|
48
|
+
|
|
44
49
|
if suites.count == 0
|
|
45
50
|
exit_failure Text::Error::CANT_FIND_SUITE % [origin_url, status_branch]
|
|
46
51
|
elsif suites.count > 1
|
|
@@ -59,6 +64,7 @@ module Solano
|
|
|
59
64
|
end
|
|
60
65
|
|
|
61
66
|
suite_params[:suite_id] = suites.first['id']
|
|
67
|
+
repo_params[:suite_id] = suites.first['id']
|
|
62
68
|
|
|
63
69
|
if options[:json]
|
|
64
70
|
res = {}
|
data/lib/solano/cli/suite.rb
CHANGED
|
@@ -23,15 +23,14 @@ module Solano
|
|
|
23
23
|
# Did the user set a configuration option on the command line?
|
|
24
24
|
# If so, auto-configure a new suite and re-configure an existing one
|
|
25
25
|
user_config = options.member?(:tool)
|
|
26
|
-
|
|
27
|
-
current_suite_id = @solano_api.current_suite_id
|
|
26
|
+
current_suite_id = calc_current_suite_id
|
|
28
27
|
if current_suite_id && !user_config then
|
|
29
28
|
current_suite = @solano_api.get_suite_by_id(current_suite_id)
|
|
30
29
|
else
|
|
31
30
|
params = Hash.new
|
|
32
31
|
params[:branch] = @scm.current_branch
|
|
33
32
|
params[:repo_url] = @scm.origin_url
|
|
34
|
-
params[:repo_name] = @scm.repo_name
|
|
33
|
+
params[:repo_name] = options[:pipeline] || @scm.repo_name
|
|
35
34
|
params[:scm] = @scm.scm_name
|
|
36
35
|
if options[:account] && !params.member?(:account_id) then
|
|
37
36
|
account_id = @solano_api.get_account_id(options[:account])
|
|
@@ -63,8 +62,22 @@ module Solano
|
|
|
63
62
|
details
|
|
64
63
|
end
|
|
65
64
|
|
|
65
|
+
def calc_current_suite_id
|
|
66
|
+
if options[:pipeline] && options[:account]
|
|
67
|
+
suites = @solano_api.get_suites.select { |s| s['repo_name'] == options[:pipeline] && s['account'] == options[:account] }
|
|
68
|
+
suite = suites.select { |s| s['branch'] == @scm.current_branch }.first
|
|
69
|
+
suite ? suite['id'] : nil
|
|
70
|
+
elsif options[:pipeline]
|
|
71
|
+
suites = @solano_api.get_suites.select { |s| s['repo_name'] == options[:pipeline] }
|
|
72
|
+
suite = suites.select { |s| s['branch'] == @scm.current_branch }.first
|
|
73
|
+
suite ? suite['id'] : nil
|
|
74
|
+
else
|
|
75
|
+
@solano_api.current_suite_id
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
66
79
|
def suite_for_current_branch?
|
|
67
|
-
return true if
|
|
80
|
+
return true if calc_current_suite_id
|
|
68
81
|
say Text::Error::NO_SUITE_EXISTS % @scm.current_branch
|
|
69
82
|
false
|
|
70
83
|
end
|
data/lib/solano/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solano
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.31.
|
|
4
|
+
version: 1.31.11
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- GE Digital LLC
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-05-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|
|
@@ -411,7 +411,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
411
411
|
version: '0'
|
|
412
412
|
requirements: []
|
|
413
413
|
rubyforge_project:
|
|
414
|
-
rubygems_version: 2.6.
|
|
414
|
+
rubygems_version: 2.6.11
|
|
415
415
|
signing_key:
|
|
416
416
|
specification_version: 4
|
|
417
417
|
summary: Run tests in Predix CI Hosted Test Environment
|