travis 1.5.9.travis.358.4 → 1.5.9.travis.360.4

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDlmMzEyM2Q4YTNiNmNiMjY0MjE1MDVkM2FhNDkxNzU1YTgzNDAxNA==
4
+ NzhjYzU1NGE5NzM2N2Y0MzgzOWI5YzFhMTU1ODU1NzEyZTYyNjUwYw==
5
5
  data.tar.gz: !binary |-
6
- N2U1ZWUxMmYzNzQ5ODJiYjU5N2JmZGJhZmEzM2E2NzNmNTMyNDQ5Zg==
6
+ NGMyODliMzkwZTk2ZDEwNGY0YjFlZjEwOTI2Y2FkMjQzZTY2Y2MxMg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MmQwYmE0N2JhODczMDJkOWRjZTA2YjQxYWM3Mzc2ZThmNDIyYzk5NTA0ZjIy
10
- NWZiNjJlOWM3MTc2N2RjZTE1MmMyYTE4MGRjNmU1MjE4NzIzMzBjOGUzMDAy
11
- NmE3ZjdhYTQ1NWYxMTQxM2U1NjVhMmQ3MmRiZmIzM2FjMjc2ZGY=
9
+ NTQ3MDQxNTRiMDdjMjczOWIzOWI1YjJjMzA4MTE2OThiMjc5NTk4NzQ3ZjVh
10
+ YmFhNjY0OWRlMTgwMzdkZGFkM2Q3NzVjY2FmMGNkMzEyN2I3YWFiNWJjMjU0
11
+ ODNjYzExYWZjOTE5MjE5YWVmMDEyNDY5Y2I5OThjMzRkNTYyMGM=
12
12
  data.tar.gz: !binary |-
13
- N2JmOTc2MzAwMGZkZmFhYjZlMDI0ZDBmZGI1NTRiMGY3MWFiOGM2Y2YxOGEz
14
- ZmY3YmFmYTA1YTczYTJiNjBkMTNmNjdkZjk1YTQ4OTVmY2ZkN2VlYjE1M2Zi
15
- OGRkYzAwZmNkYjU5NDI5NmE2ZDIzODhlZjg4ZjY3MzAwMmMwMmE=
13
+ ODgxNTkyZTZkMTBkZTViMmUwN2RiOTAxMTQ4MmZlODQxYTI2NDVmMTE2NGE1
14
+ N2Y5ZGY5YjQ0NTc3MTFhZTk0MTUzZDU1YmNhY2Q4NTBjZTAxMTgwNWJlMTJk
15
+ MGMxMDc2NmZhYjE0ODQ3ZWUzNWYwYjJkYjNiZTBhM2M2OGY5MGY=
data/README.md CHANGED
@@ -17,6 +17,7 @@ The [travis gem](https://rubygems.org/gems/travis) includes both a [command line
17
17
  * [`login`](#login)
18
18
  * [`monitor`](#monitor)
19
19
  * [`raw`](#raw)
20
+ * [`report`](#report)
20
21
  * [`sync`](#sync)
21
22
  * [`token`](#token)
22
23
  * [`whatsup`](#whatsup)
@@ -268,7 +269,44 @@ This is really helpful both when working on this client and when exploring the [
268
269
 
269
270
  Use `--json` if you'd rather prefer the output to be JSON.
270
271
 
271
- ### `sync`
272
+ #### `report`
273
+
274
+ When inspecting a bug or reporting an issue, it can be handy to include a report about the system and configuration used for running a command.
275
+
276
+ $ travis report --pro
277
+ System
278
+ Ruby: Ruby 2.0.0-p195
279
+ Operating System: Mac OS X 10.8.5
280
+ RubyGems: RubyGems 2.0.7
281
+
282
+ CLI
283
+ Version: 1.5.8
284
+ Plugins: "travis-as-user", "travis-build", "travis-cli-pr"
285
+ Auto-Completion: yes
286
+ Last Version Check: 2013-11-02 16:25:03 +0100
287
+
288
+ Session
289
+ API Endpoint: https://api.travis-ci.com/
290
+ Logged In: as "rkh"
291
+ Verify SSL: yes
292
+ Enterprise: no
293
+
294
+ Endpoints
295
+ pro: https://api.travis-ci.com/ (access token, current)
296
+ org: https://api.travis-ci.org/ (access token)
297
+
298
+ Last Exception
299
+ An error occurred running `travis whoami --pro`:
300
+ Travis::Client::Error: access denied
301
+ from ...
302
+
303
+
304
+ For issues with the command line tool, please visit https://github.com/travis-ci/travis/issues.
305
+ For Travis CI in general, go to https://github.com/travis-ci/travis-ci/issues or email support@travis-ci.com.
306
+
307
+ This command can also list all known repos and the endpoint to use for them via the `--known-repos` option.
308
+
309
+ #### `sync`
272
310
 
273
311
  Usage: travis sync [options]
274
312
  -h, --help Display help
@@ -1316,6 +1354,10 @@ If you have the old `travis-cli` gem installed, you should `gem uninstall travis
1316
1354
 
1317
1355
  ## Version History
1318
1356
 
1357
+ **1.5.9** (not yet released)
1358
+
1359
+ * Add `travis report` to give a report of the system, endpoint, configuration and last exception.
1360
+
1319
1361
  **1.5.8** (October 24, 2013)
1320
1362
 
1321
1363
  * Fix bug in completion code that stopped command line client from running.
data/bin/travis CHANGED
@@ -8,8 +8,12 @@ Encoding.default_external = Encoding::UTF_8 if defined? Encoding
8
8
  require 'travis/cli'
9
9
 
10
10
  # load plugins
11
- config_path = ENV.fetch('TRAVIS_CONFIG_PATH') { File.expand_path('.travis', Dir.home) }
12
- Dir.glob(File.expand_path('*/init.rb', config_path)) { |file| load(file) }
11
+ TRAVIS_PLUGINS = []
12
+ config_path = ENV.fetch('TRAVIS_CONFIG_PATH') { File.expand_path('.travis', Dir.home) }
13
+ Dir.glob(File.expand_path('*/init.rb', config_path)) do |file|
14
+ TRAVIS_PLUGINS << file.sub(config_path + '/', '').sub(/\/init\.rb$/, '')
15
+ load(file)
16
+ end
13
17
 
14
18
  # and off we go then
15
19
  Travis::CLI.run(ARGV)
@@ -54,8 +54,8 @@ module Travis
54
54
  @@abstract << self
55
55
  end
56
56
 
57
- def self.skip(name)
58
- define_method(name) {}
57
+ def self.skip(*names)
58
+ names.each { |n| define_method(n) {} }
59
59
  end
60
60
 
61
61
  def self.description(description = nil)
@@ -157,12 +157,15 @@ module Travis
157
157
  check_completion
158
158
  setup
159
159
  run(*arguments)
160
+ clear_error
160
161
  store_config
161
162
  rescue StandardError => e
162
163
  raise(e) if explode?
163
164
  message = e.message
164
- message += " - need to run `travis login` again?" if Travis::Client::Error === e and message == 'access denied'
165
- error message
165
+ message += " - try running #{command("login#{endpoint_option}")}" if Travis::Client::Error === e and message == 'access denied'
166
+ message += color("\nfor a full error report, run #{command("report#{endpoint_option}")}", :error) if interactive?
167
+ store_error(e)
168
+ error(message)
166
169
  end
167
170
 
168
171
  def command_name
@@ -212,6 +215,16 @@ module Travis
212
215
 
213
216
  private
214
217
 
218
+ def store_error(exception)
219
+ message = "An error occurred running `travis %s%s`:\n %p: %s\n" % [command_name, endpoint_option, exception.class, exception.message]
220
+ exception.backtrace.each { |l| message << " from #{l}\n" }
221
+ save_file("error.log", message)
222
+ end
223
+
224
+ def clear_error
225
+ delete_file("error.log")
226
+ end
227
+
215
228
  def setup_trap
216
229
  [:INT, :TERM].each do |signal|
217
230
  trap signal do
@@ -278,6 +291,11 @@ module Travis
278
291
  File.exist?(path) ? File.read(path) : default
279
292
  end
280
293
 
294
+ def delete_file(name)
295
+ path = config_path(name)
296
+ File.delete(path) if File.exist?(path)
297
+ end
298
+
281
299
  def save_file(name, content)
282
300
  File.write(config_path(name), content.to_s)
283
301
  end
@@ -305,6 +323,10 @@ module Travis
305
323
  say help
306
324
  end
307
325
  end
326
+
327
+ def endpoint_option
328
+ ""
329
+ end
308
330
  end
309
331
  end
310
332
  end
data/lib/travis/cli.rb CHANGED
@@ -36,6 +36,7 @@ module Travis
36
36
  autoload :Pubkey, 'travis/cli/pubkey'
37
37
  autoload :Raw, 'travis/cli/raw'
38
38
  autoload :RepoCommand, 'travis/cli/repo_command'
39
+ autoload :Report, 'travis/cli/report'
39
40
  autoload :Restart, 'travis/cli/restart'
40
41
  autoload :Setup, 'travis/cli/setup'
41
42
  autoload :Show, 'travis/cli/show'
@@ -19,6 +19,10 @@ module Travis
19
19
  @os ||= windows? ? "Windows" : `uname`.chomp
20
20
  end
21
21
 
22
+ def full_os
23
+ @full_os ||= mac? ? "#{`sw_vers -productName`.chomp} #{`sw_vers -productVersion`.chomp}" : os
24
+ end
25
+
22
26
  def ruby_engine
23
27
  defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby'
24
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: travis
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.9.travis.358.4
4
+ version: 1.5.9.travis.360.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase
@@ -28,7 +28,7 @@ authors:
28
28
  autorequire:
29
29
  bindir: bin
30
30
  cert_chain: []
31
- date: 2013-10-24 00:00:00.000000000 Z
31
+ date: 2013-11-02 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: faraday