solano 1.31.7 → 1.31.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/predix-ci +29 -0
- data/lib/solano/cli/api.rb +0 -4
- data/lib/solano/cli/commands/activate.rb +1 -1
- data/lib/solano/cli/commands/heroku.rb +1 -1
- data/lib/solano/cli/commands/login.rb +1 -1
- data/lib/solano/cli/commands/rerun.rb +2 -0
- data/lib/solano/cli/commands/spec.rb +2 -19
- data/lib/solano/cli/commands/status.rb +24 -4
- data/lib/solano/cli/config.rb +4 -4
- data/lib/solano/cli/params_helper.rb +1 -1
- data/lib/solano/cli/util.rb +3 -1
- data/lib/solano/constant.rb +29 -30
- data/lib/solano/version.rb +1 -1
- metadata +14 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4da4f4f8e4baaad65f0c1fb3e25ae8d4c8c0e918
|
4
|
+
data.tar.gz: e1e8e5945dc15ad77b3d96f0e62266e3abcf309e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6edb2b435228c1608bb27251b8181934c8c7fb81a338bd4a2bda544277edeed3e3911644385bc5092e326ea939b97e125ae2c0d1cd5b85a1aa011521427e1227
|
7
|
+
data.tar.gz: cd3f377c98c6e731ee7082c4b4ea2fee032d678c4a4f244aa5a91747b5f23bf9c3363f4567d6a90c842316f7e9f5a5882f7540d7c58827d089a36f41b63ad5cb
|
data/bin/predix-ci
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Copyright (c) 2011, 2012, 2013, 2014 Solano Labs All Rights Reserved
|
4
|
+
#
|
5
|
+
|
6
|
+
require 'yaml'
|
7
|
+
|
8
|
+
if RUBY_VERSION < "2.1.0" && defined?(YAML::ENGINE) then
|
9
|
+
YAML::ENGINE.yamler = 'syck'
|
10
|
+
end
|
11
|
+
|
12
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
13
|
+
|
14
|
+
if ENV['COVERAGE']
|
15
|
+
begin
|
16
|
+
require 'rubygems'
|
17
|
+
require 'simplecov'
|
18
|
+
SimpleCov.root(ENV['COVERAGE_ROOT'])
|
19
|
+
SimpleCov.start do
|
20
|
+
add_group "Commands", "lib/cli/solano/commands"
|
21
|
+
end
|
22
|
+
rescue => e
|
23
|
+
STDERR.puts "Can't load simplecov: #{e.inspect} #{e.backtrace}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
require "solano"
|
28
|
+
require "solano/cli"
|
29
|
+
Solano::SolanoCli.start
|
data/lib/solano/cli/api.rb
CHANGED
@@ -275,10 +275,6 @@ module Solano
|
|
275
275
|
call_api(:delete, "#{Api::Path::SUITES}/#{id}/permanent_destroy", params)
|
276
276
|
end
|
277
277
|
|
278
|
-
def demand_repoman_account(id, params={})
|
279
|
-
call_api(:post, "#{Api::Path::ACCOUNTS}/#{id}/demand_repoman", params)
|
280
|
-
end
|
281
|
-
|
282
278
|
def get_sessions(params={})
|
283
279
|
begin
|
284
280
|
call_api(:get, Api::Path::SESSIONS, params)['sessions']
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Solano
|
4
4
|
class SolanoCli < Thor
|
5
|
-
desc "login [[TOKEN]]", "Log in using your email address or token (see: https://ci.
|
5
|
+
desc "login [[TOKEN]]", "Log in using your email address or token (see: https://ci.predix.io/user_settings/token)"
|
6
6
|
method_option :email, :type => :string, :default => nil
|
7
7
|
method_option :password, :type => :string, :default => nil
|
8
8
|
method_option :ssh_key_file, :type => :string, :default => nil
|
@@ -9,6 +9,7 @@ module Solano
|
|
9
9
|
method_option :no_op, :type=>:boolean, :default => false, :aliases => ["-n"]
|
10
10
|
method_option :force, :type=>:boolean, :default => false
|
11
11
|
method_option :profile, :type => :string, :default => nil, :aliases => %w(--profile-name)
|
12
|
+
method_option :queue, :type => :string, :default => nil
|
12
13
|
def rerun(session_id=nil)
|
13
14
|
params = {:scm => true, :repo => false}
|
14
15
|
if session_id.nil? then
|
@@ -36,6 +37,7 @@ module Solano
|
|
36
37
|
cmd += " --org=#{options[:account]}" if options[:account]
|
37
38
|
cmd += " --force" if options[:force]
|
38
39
|
cmd += " --profile=#{profile}" if profile
|
40
|
+
cmd += " --queue=#{options[:queue]}" if options[:queue]
|
39
41
|
cmd += " #{tests.join(" ")}"
|
40
42
|
|
41
43
|
say cmd
|
@@ -80,27 +80,10 @@ module Solano
|
|
80
80
|
say Text::Process::USING_SPEC_OPTION[:test_exclude_pattern] % test_exclude_pattern
|
81
81
|
end
|
82
82
|
|
83
|
-
|
84
|
-
|
85
|
-
# Call the API to get the suite and its tests
|
86
|
-
suite_details = @solano_api.get_suite_by_id(@solano_api.current_suite_id,
|
83
|
+
# Call the API to get the suite and its tests
|
84
|
+
suite_details = @solano_api.get_suite_by_id(@solano_api.current_suite_id,
|
87
85
|
:session_id => options[:session_id])
|
88
86
|
|
89
|
-
if suite_details["repoman_current"] == true
|
90
|
-
break
|
91
|
-
else
|
92
|
-
@solano_api.demand_repoman_account(suite_details["account_id"])
|
93
|
-
|
94
|
-
say Text::Process::SCM_REPO_WAIT
|
95
|
-
sleep @api_config.scm_ready_sleep
|
96
|
-
end
|
97
|
-
|
98
|
-
tries += 1
|
99
|
-
end
|
100
|
-
exit_failure Text::Error::SCM_REPO_NOT_READY unless suite_details["repoman_current"]
|
101
|
-
|
102
|
-
#update_suite_parameters!(suite_details, options[:session_id])
|
103
|
-
|
104
87
|
start_time = Time.now
|
105
88
|
|
106
89
|
new_session_params = {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2011-
|
1
|
+
# Copyright (c) 2011-2017 Solano Labs All Rights Reserved
|
2
2
|
|
3
3
|
require 'stringio'
|
4
4
|
|
@@ -7,6 +7,8 @@ module Solano
|
|
7
7
|
desc "status", "Display information about this suite, and any open dev sessions"
|
8
8
|
method_option :json, :type => :boolean, :default => false
|
9
9
|
method_option :commit, :type => :string, :default => nil
|
10
|
+
method_option :account, :type => :string, :default => nil,
|
11
|
+
:aliases => %w(--org --organization)
|
10
12
|
def status
|
11
13
|
solano_setup({:repo => true})
|
12
14
|
|
@@ -14,14 +16,13 @@ module Solano
|
|
14
16
|
# solano_setup asserts that we're in a supported SCM repo
|
15
17
|
origin_url = @scm.origin_url
|
16
18
|
repo_params = {
|
17
|
-
:active => true,
|
19
|
+
:active => true,
|
18
20
|
:repo_url => origin_url
|
19
21
|
}
|
20
22
|
|
21
23
|
if suite_for_current_branch? then
|
22
24
|
status_branch = @solano_api.current_branch
|
23
25
|
suite_params = {
|
24
|
-
:suite_id => @solano_api.current_suite_id,
|
25
26
|
:active => false,
|
26
27
|
:limit => 10
|
27
28
|
}
|
@@ -29,7 +30,6 @@ module Solano
|
|
29
30
|
status_branch = @solano_api.default_branch
|
30
31
|
say Text::Error::TRY_DEFAULT_BRANCH % status_branch
|
31
32
|
suite_params = {
|
32
|
-
:suite_id => @solano_api.default_suite_id,
|
33
33
|
:active => false,
|
34
34
|
:limit => 10
|
35
35
|
}
|
@@ -40,6 +40,26 @@ module Solano
|
|
40
40
|
suite_params[:last_commit_id] = options[:commit]
|
41
41
|
end
|
42
42
|
|
43
|
+
suites = @solano_api.get_suites(:repo_url => origin_url, :branch => status_branch)
|
44
|
+
if suites.count == 0
|
45
|
+
exit_failure Text::Error::CANT_FIND_SUITE % [origin_url, status_branch]
|
46
|
+
elsif suites.count > 1
|
47
|
+
if options[:account] then
|
48
|
+
suites = suites.select { |s| s['account'] == options[:account] }
|
49
|
+
else
|
50
|
+
say Text::Status::SUITE_IN_MULTIPLE_ACCOUNTS % [origin_url, status_branch]
|
51
|
+
suites.each { |s| say ' ' + s['account'] }
|
52
|
+
account = ask Text::Status::SUITE_IN_MULTIPLE_ACCOUNTS_PROMPT
|
53
|
+
suites = suites.select { |s| s['account'] == account }
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
if suites.count == 0
|
58
|
+
exit_failure Text::Error::INVALID_ACCOUNT_NAME
|
59
|
+
end
|
60
|
+
|
61
|
+
suite_params[:suite_id] = suites.first['id']
|
62
|
+
|
43
63
|
if options[:json]
|
44
64
|
res = {}
|
45
65
|
res[:running] = { origin_url => @solano_api.get_sessions(repo_params) }
|
data/lib/solano/cli/config.rb
CHANGED
@@ -189,15 +189,15 @@ module Solano
|
|
189
189
|
def write_scm_ignore
|
190
190
|
path = @scm.ignore_path
|
191
191
|
content = File.exists?(path) ? File.read(path) : ''
|
192
|
-
unless content.include?(".
|
192
|
+
unless content.include?(".predix-ci*\n")
|
193
193
|
File.open(path, File::CREAT|File::APPEND|File::RDWR, 0644) do |file|
|
194
|
-
file.write(".
|
194
|
+
file.write(".predix-ci*\n")
|
195
195
|
end
|
196
196
|
end
|
197
197
|
end
|
198
198
|
|
199
199
|
def solano_file_name(scope=:repo, kind='', root=nil)
|
200
|
-
ext = (@host == '
|
200
|
+
ext = (@host == 'ci.predix.io') ? '' : ".#{@host}"
|
201
201
|
|
202
202
|
case scope
|
203
203
|
when :repo
|
@@ -207,7 +207,7 @@ module Solano
|
|
207
207
|
root = ENV['HOME']
|
208
208
|
end
|
209
209
|
|
210
|
-
return File.join(root, ".
|
210
|
+
return File.join(root, ".predix-ci#{kind}#{ext}")
|
211
211
|
end
|
212
212
|
|
213
213
|
def solano_deploy_key_file_name
|
@@ -4,7 +4,7 @@ module ParamsHelper
|
|
4
4
|
include SolanoConstant
|
5
5
|
|
6
6
|
def default_host params
|
7
|
-
params['host'] || ENV['SOLANO_CLIENT_HOST'] || ENV['TDDIUM_CLIENT_HOST'] || 'ci.
|
7
|
+
params['host'] || ENV['SOLANO_CLIENT_HOST'] || ENV['TDDIUM_CLIENT_HOST'] || 'ci.predix.io'
|
8
8
|
end
|
9
9
|
|
10
10
|
def default_port params
|
data/lib/solano/cli/util.rb
CHANGED
data/lib/solano/constant.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2011-
|
1
|
+
# Copyright (c) 2011-2017 Solano Labs All Rights Reserved
|
2
2
|
|
3
3
|
module SolanoConstant
|
4
4
|
|
@@ -16,23 +16,22 @@ module SolanoConstant
|
|
16
16
|
|
17
17
|
GIT_SERVER = "git.solanolabs.com"
|
18
18
|
READY_TRIES = 3
|
19
|
-
SCM_READY_TRIES = 18
|
20
|
-
SCM_READY_SLEEP = 10
|
21
19
|
TEST_FINISH_TIMEOUT = 15 * 60 # 15 minutes
|
22
20
|
|
23
21
|
PARAMS_PATH = "#{ENV['HOME']}/.solano-server"
|
24
22
|
end
|
25
23
|
|
26
24
|
module Config
|
27
|
-
REMOTE_NAME = "
|
25
|
+
REMOTE_NAME = "predix-ci"
|
28
26
|
HG_IGNORE = ".hgignore"
|
29
27
|
GIT_IGNORE = ".gitignore"
|
30
|
-
CONFIG_PATHS = ["
|
31
|
-
"config/
|
28
|
+
CONFIG_PATHS = ["predix-ci.yml",
|
29
|
+
"config/predix-ci.yml"
|
32
30
|
]
|
33
31
|
CONFIG_PATHS_DEPRECATED = ["tddium.yml",
|
34
32
|
"config/tddium.yml",
|
35
|
-
"
|
33
|
+
"solano.yml",
|
34
|
+
"config/solano.yml"
|
36
35
|
]
|
37
36
|
EMBEDDED_SCRIPT_PATH = File.expand_path(File.join("..", "script"), __FILE__)
|
38
37
|
end
|
@@ -96,7 +95,7 @@ module SolanoConstant
|
|
96
95
|
|
97
96
|
* The hg <-> git mirror is missing.
|
98
97
|
|
99
|
-
Please run `
|
98
|
+
Please run `predix-ci hg:mirror` to create the mirror for the first time.
|
100
99
|
|
101
100
|
(Note: it may take several minutes, or even an hour, for hg:mirror to complete,
|
102
101
|
depending on how large your repo is. Rest assured, you'll only need to run hg:mirror once.)
|
@@ -112,7 +111,7 @@ EOF
|
|
112
111
|
YAML_PARSE_FAILED = "Unable to parse %s as YAML"
|
113
112
|
TEST_CONFIGS_MUST_BE_LIST = "The test_configs section of solano.yml must be a list of configurations"
|
114
113
|
NO_SSH_KEY =<<EOF
|
115
|
-
You have not set an ssh key for your user. Please add an ssh key using `solano keys:add` or visit
|
114
|
+
You have not set an ssh key for your user. Please add an ssh key using `solano keys:add` or visit https://ci.predix.io/user_settings/ssh_keys
|
116
115
|
EOF
|
117
116
|
SAME_SNAPSHOT_COMMIT = "Snapshot commit is the same as HEAD"
|
118
117
|
EMPTY_PATCH = "Patch not created because it would have been empty. Most likely the commit exists in the snapshot already"
|
@@ -155,14 +154,14 @@ EOF
|
|
155
154
|
REMOVE_CONFIG_DONE = "Removed config '%s' from %s"
|
156
155
|
CONFIG_EDIT_COMMANDS =<<EOF
|
157
156
|
|
158
|
-
Use `
|
159
|
-
Use `
|
157
|
+
Use `predix-ci config:add <scope> <key> <value>` to set a config key.
|
158
|
+
Use `predix-ci config:remove <scope> <key>` to remove a key.
|
160
159
|
|
161
160
|
EOF
|
162
161
|
KEYS_EDIT_COMMANDS =<<EOF
|
163
162
|
|
164
|
-
Use `
|
165
|
-
Use `
|
163
|
+
Use `predix-ci keys:add` to generate and authorize a new SSH keypair.
|
164
|
+
Use `predix-ci keys:remove` to remove an authorized key from Solano CI.
|
166
165
|
|
167
166
|
Use `ssh-keygen -lf <filename>` to print fingerprint of an existing public key.
|
168
167
|
|
@@ -174,19 +173,18 @@ EOF
|
|
174
173
|
|
175
174
|
You can instead specify a list of test patterns in config/solano.yml.
|
176
175
|
|
177
|
-
Read more here: https://
|
176
|
+
Read more here: https://ci.predix.io/docs
|
178
177
|
|
179
178
|
EOF
|
180
|
-
NO_CONFIGURED_SUITE = "Looks like you haven't configured
|
181
|
-
FOUND_EXISTING_SUITE = "Found a suite in
|
179
|
+
NO_CONFIGURED_SUITE = "Looks like you haven't configured Predix CI on this computer for %s/%s...\n"
|
180
|
+
FOUND_EXISTING_SUITE = "Found a suite in Predix CI for\n\n%s\n\n(on branch %s)."
|
182
181
|
TERMINATE_INSTRUCTION = ">>> Press Ctrl-C to stop waiting. Tests will continue running.\n"
|
183
182
|
INTERRUPT = "Interrupted"
|
184
|
-
SCM_PUSH = ">>> Pushing changes to
|
185
|
-
SCM_REPO_WAIT = ">>> Waiting for your repository to be prepared. Sleeping for 10 seconds..."
|
183
|
+
SCM_PUSH = ">>> Pushing changes to Predix CI..."
|
186
184
|
STARTING_TEST = ">>> Starting Session with %s tests..."
|
187
|
-
CHECK_TEST_STATUS = ">>> Use '
|
185
|
+
CHECK_TEST_STATUS = ">>> Use 'predix-ci status' to check on pending jobs"
|
188
186
|
FINISHED_TEST = "Finished in %s seconds"
|
189
|
-
RUN_SOLANO_WEB = "\n>>> Run `
|
187
|
+
RUN_SOLANO_WEB = "\n>>> Run `predix-ci web` to open the latest test results in your browser.\n"
|
190
188
|
CHECK_TEST_REPORT = ">>> To view results, visit: %s"
|
191
189
|
FAILED_TESTS = "Failed tests:"
|
192
190
|
SUMMARY_STATUS = "Final result: %s."
|
@@ -203,7 +201,7 @@ EOF
|
|
203
201
|
|
204
202
|
Next, you should register your test suite and start tests by running:
|
205
203
|
|
206
|
-
$
|
204
|
+
$ predix-ci run
|
207
205
|
|
208
206
|
"
|
209
207
|
ALREADY_LOGGED_IN = "You're already logged in"
|
@@ -230,7 +228,7 @@ $ solano run
|
|
230
228
|
|
231
229
|
>>> To change the pattern:
|
232
230
|
1. Edit %s
|
233
|
-
2. Run `
|
231
|
+
2. Run `predix-ci suite --edit` again.
|
234
232
|
EOF
|
235
233
|
CONFIGURED_EXCLUDE_PATTERN =<<EOF;
|
236
234
|
... Configured test exclude pattern from %s:
|
@@ -239,7 +237,7 @@ EOF
|
|
239
237
|
|
240
238
|
>>> To change the pattern:
|
241
239
|
1. Edit %s
|
242
|
-
2. Run `
|
240
|
+
2. Run `predix-ci suite --edit` again.
|
243
241
|
EOF
|
244
242
|
DETECTED_BRANCH = "... Detected branch %s"
|
245
243
|
SETUP_CI=<<EOF;
|
@@ -281,12 +279,12 @@ Showing %s tests
|
|
281
279
|
EOF
|
282
280
|
RERUN_SESSION =<<EOF
|
283
281
|
|
284
|
-
Re-run failures from a session with `
|
285
|
-
Extract details of a session with `
|
282
|
+
Re-run failures from a session with `predix-ci rerun <session_id>`.
|
283
|
+
Extract details of a session with `predix-ci describe <session_id>`.
|
286
284
|
|
287
285
|
EOF
|
288
286
|
OPTIONS_SAVED = 'Options have been successfully saved.'
|
289
|
-
NOT_SAVED_OPTIONS = 'There is no server information saved. Run `
|
287
|
+
NOT_SAVED_OPTIONS = 'There is no server information saved. Run `predix-ci server:set`.'
|
290
288
|
BUILD_CONTINUES = 'Session will continue running.'
|
291
289
|
USING_PROFILE = "Starting session with profile '%s'"
|
292
290
|
VOLUME_OVERRIDE = "Worker volume set to %s"
|
@@ -303,7 +301,7 @@ EOF
|
|
303
301
|
CREATING_PATCH =<<EOF
|
304
302
|
Creating a Patch by running
|
305
303
|
%s
|
306
|
-
Please see
|
304
|
+
Please see https://ci.predix.io/docs/RunningBuild/snapshots-and-patches/ for more info on patching
|
307
305
|
EOF
|
308
306
|
ASK_FOR_SNAPSHOT =<<EOF
|
309
307
|
Since we could not create a patch, we can try creating a snapshot instead. This may take longer to upload, then a patch.
|
@@ -438,6 +436,8 @@ Session Details:
|
|
438
436
|
Finished: %s
|
439
437
|
|
440
438
|
EOF
|
439
|
+
SUITE_IN_MULTIPLE_ACCOUNTS = "The suite %s/%s exists in multiple organization:"
|
440
|
+
SUITE_IN_MULTIPLE_ACCOUNTS_PROMPT = "Which organization do you want to use to get the status:"
|
441
441
|
end
|
442
442
|
|
443
443
|
module Error
|
@@ -471,7 +471,6 @@ You entered:
|
|
471
471
|
EOF
|
472
472
|
SCM_NOT_A_REPOSITORY = "Current working directory is not a suitable repository"
|
473
473
|
SCM_NO_ORIGIN = "Origin URI not set; Solano CI requires origin URI to identify repository"
|
474
|
-
SCM_REPO_NOT_READY = "Your repository is being prepped. Try again in a minute."
|
475
474
|
SCM_PUSH_FAILED = <<EOF;
|
476
475
|
|
477
476
|
Attempt to push source to Solano CI failed.
|
@@ -518,7 +517,7 @@ EOF
|
|
518
517
|
PASSWORD_ERROR = "Error changing password: %s"
|
519
518
|
ADD_MEMBER_ERROR = "Error adding %s: %s"
|
520
519
|
REMOVE_MEMBER_ERROR = "Error removing %s: %s"
|
521
|
-
USE_ACTIVATE = "Visit 'https://ci.
|
520
|
+
USE_ACTIVATE = "Visit 'https://ci.predix.io' to activate your account for the first time."
|
522
521
|
INVALID_CREDENTIALS = "Your .solano file has an invalid API key.\nRun `solano logout` and `solano login`, and then try again."
|
523
522
|
MISSING_ACCOUNT_OPTION = "You must specify an organization by passing the --org option."
|
524
523
|
MISSING_ACCOUNT = "You must specify an organization."
|
@@ -530,7 +529,7 @@ ERROR: could not invoke solano command
|
|
530
529
|
Usage: "solano COMMAND [ARGS] [OPTIONS]". For available commands, run "solano help".
|
531
530
|
EOF
|
532
531
|
CONFIG_PATHS_COLLISION =<<EOF
|
533
|
-
You have
|
532
|
+
You have multiple configs in your repo. We don't support merging the configuration from both of these files, so you'll have to pick one. The solano.yml file will soon be deprecated, so we recommend migrating all of your configuration to solano.yml.
|
534
533
|
EOF
|
535
534
|
CANNOT_OVERRIDE_PROFILE="Cannot override profile for existing session"
|
536
535
|
CANNOT_OVERRIDE_QUEUE="Cannot override queue for existing session"
|
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.10
|
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: 2018-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -89,7 +89,7 @@ dependencies:
|
|
89
89
|
version: '0.6'
|
90
90
|
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: 0.6.
|
92
|
+
version: 0.6.5
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -99,7 +99,7 @@ dependencies:
|
|
99
99
|
version: '0.6'
|
100
100
|
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 0.6.
|
102
|
+
version: 0.6.5
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: nayutaya-msgpack-pure
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -317,27 +317,29 @@ dependencies:
|
|
317
317
|
- !ruby/object:Gem::Version
|
318
318
|
version: '10.4'
|
319
319
|
description: |
|
320
|
-
|
320
|
+
Predix CI runs your test suite simply and quickly in our managed
|
321
321
|
cloud environment. You can run tests by hand, or enable our hosted CI to watch
|
322
322
|
your git repos automatically.
|
323
323
|
|
324
|
-
|
324
|
+
Predix CI automatically and safely parallelizes your tests to save you time, and
|
325
325
|
takes care of setting up fresh isolated DB instances for each test thread.
|
326
326
|
|
327
327
|
Tests have access to a wide variety of databases (postgres, mongo, redis,
|
328
328
|
mysql, memcache), solr, sphinx, selenium/webdriver browsers, webkit and culerity.
|
329
329
|
|
330
|
-
|
331
|
-
test::unit, and spinach.
|
330
|
+
Predix CI supports all common Ruby test frameworks, including rspec, cucumber,
|
331
|
+
test::unit, and spinach. Predix CI also supports Javascript testing using
|
332
332
|
jasmine, evergreen, and many other frameworks.
|
333
333
|
email:
|
334
|
-
-
|
334
|
+
- build-ge-solano@ge.com
|
335
335
|
executables:
|
336
|
+
- predix-ci
|
336
337
|
- solano
|
337
338
|
- tddium
|
338
339
|
extensions: []
|
339
340
|
extra_rdoc_files: []
|
340
341
|
files:
|
342
|
+
- bin/predix-ci
|
341
343
|
- bin/solano
|
342
344
|
- bin/tddium
|
343
345
|
- lib/solano.rb
|
@@ -409,8 +411,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
409
411
|
version: '0'
|
410
412
|
requirements: []
|
411
413
|
rubyforge_project:
|
412
|
-
rubygems_version: 2.6.
|
414
|
+
rubygems_version: 2.6.14.1
|
413
415
|
signing_key:
|
414
416
|
specification_version: 4
|
415
|
-
summary: Run tests in
|
417
|
+
summary: Run tests in Predix CI Hosted Test Environment
|
416
418
|
test_files: []
|