travis 1.5.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 59fa585d065c2861f86697dd0f9f7384eedc51c1
4
- data.tar.gz: 3e146b3991d09acd99a45f1107d3faacf440be3d
3
+ metadata.gz: 54e921c3e50d219945b7a6dd95288a2bd941c8ed
4
+ data.tar.gz: 6f053ea71b23f940a0c6d25de1e3541deb59145a
5
5
  SHA512:
6
- metadata.gz: 489bace43b9a98d2709a9624dc07280da03dc8947c0c5ffc74e070b29379da95a647a34e89b5345b442e2698b8ed4e0ef63688d62ae9fc1bd38aac3ae3ade1de
7
- data.tar.gz: e45008f6a26db5e0513ca7da5751d545b3ec53e6511ba93c880f4229c0a778f6000b0538dccefd1d1bc4628aa4965e35ca45526d0b4343db06eca9312094cc43
6
+ metadata.gz: b3888323efad2668054faa063208894261bfe7f906ef43c53373549de22252d48f875ffef7f67f96dc884f32ebc6346f94b5bdc99029e732d1b522832e2aaa57
7
+ data.tar.gz: e109cb1086c344be1a16090d3676adb1224eaab912682efa89b6d01bf09f23faaf761aea388a173ef965d1d1dbc5ad0fd3b125f960f8c44000e77648a0698aca
data/README.md CHANGED
@@ -23,6 +23,7 @@ The [travis gem](https://rubygems.org/gems/travis) includes both a [command line
23
23
  * [`whoami`](#whoami)
24
24
  * [Repository Commands](#repository-commands)
25
25
  * [`branches`](#branches)
26
+ * [`cancel`](#cancel)
26
27
  * [`disable`](#disable)
27
28
  * [`enable`](#enable)
28
29
  * [`encrypt`](#encrypt)
@@ -35,6 +36,7 @@ The [travis gem](https://rubygems.org/gems/travis) includes both a [command line
35
36
  * [`setup`](#setup)
36
37
  * [`show`](#show)
37
38
  * [`status`](#status)
39
+ * [Environment Variables](#environment-variables)
38
40
  * [Ruby Library](#ruby-library)
39
41
  * [Authentication](#authentication)
40
42
  * [Using Pro](#using-pro)
@@ -150,7 +152,7 @@ But why use this over just `irb -r travis`? For one, it will take care of authen
150
152
 
151
153
  #### `endpoint`
152
154
 
153
- Just prints out the API endpoint you're talking to.
155
+ Prints out the API endpoint you're talking to.
154
156
 
155
157
  $ travis endpoint
156
158
  API endpoint: https://api.travis-ci.org/
@@ -159,6 +161,16 @@ Handy for using it when working with shell scripts:
159
161
 
160
162
  $ curl "$(travis endpoint)/docs" > docs.html
161
163
 
164
+ It can also be used to set the default API endpoint used for [General API Commands](#general-api-commands):
165
+
166
+ $ travis endpoint --pro --set-default
167
+ API endpoint: https://api.travis-ci.com/ (stored as default)
168
+
169
+ You can use `--drop-default` to remove the setting again:
170
+
171
+ $ travis endpoint --drop-default
172
+ default API endpoint dropped (was https://api.travis-ci.com/)
173
+
162
174
  #### `login`
163
175
 
164
176
  The `login` command will, well, log you in. That way, all subsequent commands that run against the same endpoint will be authenticated.
@@ -340,6 +352,23 @@ Displays the most recent build for each branch:
340
352
 
341
353
  For more fine grained control and older builds on a specific branch, see [`history`](#history).
342
354
 
355
+ #### `cancel`
356
+
357
+ This command will cancel the latest build:
358
+
359
+ $ travis cancel
360
+ build #85 has been canceled
361
+
362
+ You can also cancel any build by giving a build number:
363
+
364
+ $ travis cancel 57
365
+ build #57 has been canceled
366
+
367
+ Or a single job:
368
+
369
+ $ travis cancel 57.1
370
+ job #57.1 has been canceled
371
+
343
372
  #### `disable`
344
373
 
345
374
  If you want to turn of a repository temporarily or indefinitely, you can do so with the `disable` command:
@@ -609,7 +638,7 @@ Helps you configure Travis addons.
609
638
  -r, --repo SLUG repository to use (will try to detect from current git clone)
610
639
  -f, --force override config section if it already exists
611
640
 
612
- Available services: `cloudcontrol`, `engineyard`, `heroku`, `nodejitsu`, `openshift`, `rubygems` and `sauce_connect`.
641
+ Available services: `cloudcontrol`, `cloudfoundry`, `engineyard`, `heroku`, `nodejitsu`, `openshift`, `rubygems` and `sauce_connect`.
613
642
 
614
643
  Example:
615
644
 
@@ -707,6 +736,14 @@ Outputs a one line status message about the project's last build. With `-q` that
707
736
 
708
737
  $ travis status -qpx && cap deploy
709
738
 
739
+ ### Environment Variables
740
+
741
+ You can set the following environment variables to influence the travis behavior:
742
+
743
+ * `$TRAVIS_TOKEN` - access token to use when the `--token` flag is not user
744
+ * `$TRAVIS_ENDPOINT` - API endpoint to use when the `--api-endpoint`, `--org` or `--pro` flag is not used
745
+ * `$TRAVIS_CONFIG_PATH` - directory to store configuration in (defaults to ~/.travis)
746
+
710
747
  ## Ruby Library
711
748
 
712
749
  There are two approaches of using the Ruby library, one straight forward with one global session:
@@ -914,6 +951,12 @@ You can restart a build, if the current user has sufficient permissions on the r
914
951
  rails.last_build.restart
915
952
  ```
916
953
 
954
+ Same goes for canceling it:
955
+
956
+ ``` ruby
957
+ rails.last_build.cancel
958
+ ```
959
+
917
960
  You can also retrieve a Hash mapping branch names to the latest build on that given branch via `branches` or use the `branch` method to get the last build for a specific branch:
918
961
 
919
962
  ``` ruby
@@ -947,6 +990,12 @@ Like builds, you can also restart singe jobs:
947
990
  rails.job('5000.1').restart
948
991
  ```
949
992
 
993
+ Same goes for canceling it:
994
+
995
+ ``` ruby
996
+ rails.job('5000.1').cancel
997
+ ```
998
+
950
999
  #### Artifacts
951
1000
 
952
1001
  The artifacts you usually care for are probably logs. You can reach them directly from a build:
@@ -1038,6 +1087,7 @@ session.artifact(42) # artifact with id 42
1038
1087
  session.log(42) # same as above
1039
1088
  session.user # the current user, if logged in
1040
1089
  session.restart(session.build(4266036)) # restart some build
1090
+ session.cancel(session.build(4266036)) # cancel some build
1041
1091
  ```
1042
1092
 
1043
1093
  You can add these methods to any object responding to `session` via said mixin.
@@ -1127,12 +1177,12 @@ You can check your Ruby version by running `ruby -v`:
1127
1177
 
1128
1178
  Then run:
1129
1179
 
1130
- $ gem install travis -v 1.5.1 --no-rdoc --no-ri
1180
+ $ gem install travis -v 1.5.2 --no-rdoc --no-ri
1131
1181
 
1132
1182
  Now make sure everything is working:
1133
1183
 
1134
1184
  $ travis version
1135
- 1.5.1
1185
+ 1.5.2
1136
1186
 
1137
1187
  ### Updating your Ruby
1138
1188
 
@@ -1179,11 +1229,20 @@ If you have the old `travis-cli` gem installed, you should `gem uninstall travis
1179
1229
 
1180
1230
  ## Version History
1181
1231
 
1232
+ **1.5.2** (August 18, 2013)
1233
+
1234
+ * Add `travis cancel`.
1235
+ * Add `Build#cancel` and `Job#cancel` to Ruby API.
1236
+ * Add `travis setup cloudfoundry`.
1237
+ * Add `--set-default` and `--drop-default` to `travis endpoint`.
1238
+ * Make it possible to configure cli via env variables (`$TRAVIS_TOKEN`, `$TRAVIS_ENDPOINT` and `$TRAVIS_CONFIG_PATH`).
1239
+ * Improve `travis setup cloudcontrol`.
1240
+
1182
1241
  **1.5.1** (August 15, 2013)
1183
1242
 
1184
1243
  * Add `travis setup engineyard`.
1244
+ * Add `travis setup cloudcontrol`.
1185
1245
  * Silence warnings when running `travis help` or `travis console`.
1186
- * Add `travis setup cloudcontrol`
1187
1246
 
1188
1247
  **1.5.0** (August 7, 2013)
1189
1248
 
@@ -6,6 +6,7 @@ local completions
6
6
  if [ "$COMP_CWORD" -eq 1 ]; then
7
7
  completions="accounts
8
8
  branches
9
+ cancel
9
10
  console
10
11
  disable
11
12
  enable
@@ -73,6 +74,28 @@ completions="--help
73
74
  --repo
74
75
  -r"
75
76
  ;;
77
+ cancel)
78
+ completions="--help
79
+ -h
80
+ --interactive
81
+ --no-interactive
82
+ -i
83
+ --explode
84
+ --no-explode
85
+ -E
86
+ --skip-version-check
87
+ --api-endpoint
88
+ -e
89
+ --pro
90
+ --org
91
+ --staging
92
+ --token
93
+ -t
94
+ --debug
95
+ --adapter
96
+ --repo
97
+ -r"
98
+ ;;
76
99
  console)
77
100
  completions="--help
78
101
  -h
@@ -188,11 +211,14 @@ completions="--help
188
211
  --token
189
212
  -t
190
213
  --debug
191
- --adapter"
214
+ --adapter
215
+ --drop-default
216
+ --set-default"
192
217
  ;;
193
218
  help)
194
219
  completions="accounts
195
220
  branches
221
+ cancel
196
222
  console
197
223
  disable
198
224
  enable
@@ -479,6 +505,7 @@ sauce_connect
479
505
  sauce_labs
480
506
  sauce
481
507
  cloudcontrol
508
+ cloudfoundry
482
509
  --help
483
510
  -h
484
511
  --interactive
@@ -667,6 +694,7 @@ read -cA words
667
694
  if [ "${#words}" -eq 2 ]; then
668
695
  completions="accounts
669
696
  branches
697
+ cancel
670
698
  console
671
699
  disable
672
700
  enable
@@ -734,6 +762,28 @@ completions="--help
734
762
  --repo
735
763
  -r"
736
764
  ;;
765
+ cancel)
766
+ completions="--help
767
+ -h
768
+ --interactive
769
+ --no-interactive
770
+ -i
771
+ --explode
772
+ --no-explode
773
+ -E
774
+ --skip-version-check
775
+ --api-endpoint
776
+ -e
777
+ --pro
778
+ --org
779
+ --staging
780
+ --token
781
+ -t
782
+ --debug
783
+ --adapter
784
+ --repo
785
+ -r"
786
+ ;;
737
787
  console)
738
788
  completions="--help
739
789
  -h
@@ -849,11 +899,14 @@ completions="--help
849
899
  --token
850
900
  -t
851
901
  --debug
852
- --adapter"
902
+ --adapter
903
+ --drop-default
904
+ --set-default"
853
905
  ;;
854
906
  help)
855
907
  completions="accounts
856
908
  branches
909
+ cancel
857
910
  console
858
911
  disable
859
912
  enable
@@ -1140,6 +1193,7 @@ sauce_connect
1140
1193
  sauce_labs
1141
1194
  sauce
1142
1195
  cloudcontrol
1196
+ cloudfoundry
1143
1197
  --help
1144
1198
  -h
1145
1199
  --interactive
@@ -20,6 +20,7 @@ module Travis
20
20
  autoload :ApiCommand, 'travis/cli/api_command'
21
21
  autoload :Accounts, 'travis/cli/accounts'
22
22
  autoload :Branches, 'travis/cli/branches'
23
+ autoload :Cancel, 'travis/cli/cancel'
23
24
  autoload :Command, 'travis/cli/command'
24
25
  autoload :Console, 'travis/cli/console'
25
26
  autoload :Disable, 'travis/cli/disable'
@@ -41,6 +41,7 @@ module Travis
41
41
  end
42
42
 
43
43
  def setup
44
+ self.api_endpoint = default_endpoint if default_endpoint and not explicit_api_endpoint?
44
45
  self.access_token ||= fetch_token
45
46
  endpoint_config['access_token'] ||= access_token
46
47
  authenticate if pro?
@@ -86,8 +87,12 @@ module Travis
86
87
  end
87
88
  end
88
89
 
90
+ def default_endpoint
91
+ ENV['TRAVIS_ENDPOINT'] || config['default_endpoint']
92
+ end
93
+
89
94
  def detected_endpoint
90
- Travis::Client::ORG_URI
95
+ default_endpoint || Travis::Client::ORG_URI
91
96
  end
92
97
 
93
98
  def endpoint_option
@@ -98,7 +103,7 @@ module Travis
98
103
  end
99
104
 
100
105
  def fetch_token
101
- return endpoint_config['access_token'] if endpoint_config['access_token']
106
+ ENV['TRAVIS_TOKEN'] || endpoint_config['access_token']
102
107
  end
103
108
  end
104
109
  end
@@ -0,0 +1,15 @@
1
+ require 'travis/cli'
2
+
3
+ module Travis
4
+ module CLI
5
+ class Cancel < RepoCommand
6
+ def run(number = last_build.number)
7
+ authenticate
8
+ entity = job(number) || build(number)
9
+ entity.cancel
10
+
11
+ say "canceled", "#{entity.class.one} ##{entity.number} has been %s"
12
+ end
13
+ end
14
+ end
15
+ end
@@ -175,6 +175,12 @@ module Travis
175
175
  end
176
176
  end
177
177
 
178
+ def info(line)
179
+ write_to($stderr) do
180
+ say color(line, :info)
181
+ end
182
+ end
183
+
178
184
  def on_signal(&block)
179
185
  @on_signal << block
180
186
  end
@@ -4,9 +4,17 @@ module Travis
4
4
  module CLI
5
5
  class Endpoint < ApiCommand
6
6
  skip :authenticate
7
+ on '--drop-default', 'delete stored default endpoint'
8
+ on '--set-default', 'store endpoint as global default'
7
9
 
8
10
  def run
9
- say api_endpoint, "API endpoint: %s"
11
+ if drop_default? and was = config['default_endpoint']
12
+ config.delete('default_endpoint')
13
+ say was, "default API endpoint dropped (was %s)"
14
+ else
15
+ config['default_endpoint'] = api_endpoint if set_default?
16
+ say api_endpoint, "API endpoint: %s#{" (stored as default)" if set_default?}"
17
+ end
10
18
  end
11
19
  end
12
20
  end
@@ -60,6 +60,8 @@ module Travis
60
60
  def detect_api_endpoint
61
61
  if explicit_api_endpoint?
62
62
  repo_config['endpoint'] = api_endpoint
63
+ elsif ENV['TRAVIS_ENDPOINT']
64
+ ENV['TRAVIS_ENDPOINT']
63
65
  else
64
66
  repo_config['endpoint'] ||= begin
65
67
  GH.head("/repos/#{slug}")
@@ -92,16 +92,28 @@ module Travis
92
92
 
93
93
  def setup_cloudcontrol
94
94
  configure 'deploy', 'provider' => 'cloudcontrol' do |config|
95
- config['email'] = ask("cloudControl email: ").to_s
96
- config['password'] = ask("cloudControl password: ") { |q| q.echo = "*" }.to_s
97
- app = ask("cloudControl application: ").to_s
98
- dep = ask("cloudControl deployment: ").to_s
95
+ config['email'] = ask("cloudControl email: ").to_s
96
+ config['password'] = ask("cloudControl password: ") { |q| q.echo = "*" }.to_s
97
+ app = ask("cloudControl application: ") { |q| q.default = repository.name }.to_s
98
+ dep = ask("cloudControl deployment: ") { |q| q.default = "default" }.to_s
99
99
  config['deployment'] = "#{app}/#{dep}"
100
- config['on'] = { 'repo' => repository.slug } if agree("Deploy only from #{repository.slug}? ") { |q| q.default = 'yes' }
101
- encrypt(config, 'password') if agree("Encrypt password key? ") { |q| q.default = 'yes' }
100
+ config['on'] = { 'repo' => repository.slug } if agree("Deploy only from #{repository.slug}? ") { |q| q.default = 'yes' }
101
+ encrypt(config, 'password') if agree("Encrypt password? ") { |q| q.default = 'yes' }
102
102
  end
103
103
  end
104
-
104
+
105
+ def setup_cloudfoundry
106
+ configure 'deploy', 'provider' => 'cloudfoundry' do |config|
107
+ config['target'] = ask("Cloud Foundry target: ").to_s
108
+ config['username'] = ask("Cloud Foundry user name: ").to_s
109
+ config['password'] = ask("Cloud Foundry password: ") { |q| q.echo = "*" }.to_s
110
+ config['organization'] = ask("Cloud Foundry organization: ").to_s
111
+ config['space'] = ask("Cloud Foundry space: ").to_s
112
+ config['on'] = { 'repo' => repository.slug } if agree("Deploy only from #{repository.slug}? ") { |q| q.default = 'yes' }
113
+ encrypt(config, 'password') if agree("Encrypt password? ") { |q| q.default = 'yes' }
114
+ end
115
+ end
116
+
105
117
  private
106
118
 
107
119
  def encrypt(config, key)
@@ -1,6 +1,7 @@
1
1
  require 'backports/2.0.0' if RUBY_VERSION < '2.0.0'
2
2
  require 'travis/client/error'
3
3
  require 'travis/client/states'
4
+ require 'travis/client/restartable'
4
5
  require 'travis/client/methods'
5
6
  require 'travis/client/session'
6
7
  require 'travis/client/entity'
@@ -3,7 +3,7 @@ require 'travis/client'
3
3
  module Travis
4
4
  module Client
5
5
  class Build < Entity
6
- include States
6
+ include States, Restartable
7
7
 
8
8
  # @!parse attr_reader :repository_id, :commit_id, :number, :pull_request, :config, :state, :started_at, :finished_at, :duration, :job_ids
9
9
  attributes :repository_id, :commit_id, :number, :pull_request, :config, :state, :started_at, :finished_at, :duration, :job_ids
@@ -18,10 +18,6 @@ module Travis
18
18
  many :builds
19
19
  aka :branches
20
20
 
21
- def restart
22
- session.restart(self)
23
- end
24
-
25
21
  def push?
26
22
  not pull_request?
27
23
  end
@@ -129,6 +129,14 @@ module Travis
129
129
  self.class.relations.map { |r| public_send(r) }.flatten(1)
130
130
  end
131
131
 
132
+ def restartable?
133
+ false
134
+ end
135
+
136
+ def cancelable?
137
+ false
138
+ end
139
+
132
140
  private
133
141
 
134
142
  def relation(name)
@@ -3,7 +3,7 @@ require 'travis/client'
3
3
  module Travis
4
4
  module Client
5
5
  class Job < Entity
6
- include States
6
+ include States, Restartable
7
7
 
8
8
  # @!parse attr_reader :repository_id, :build_id, :commit_id, :log_id, :number, :config, :state, :started_at, :finished_at, :queue, :allow_failure, :tags
9
9
  attributes :repository_id, :build_id, :commit_id, :log_id, :number, :config, :state, :started_at, :finished_at, :queue, :allow_failure, :tags
@@ -17,10 +17,6 @@ module Travis
17
17
  one :job
18
18
  many :jobs
19
19
 
20
- def restart
21
- session.restart(self)
22
- end
23
-
24
20
  def pull_request?
25
21
  build.pull_request?
26
22
  end
@@ -74,10 +74,17 @@ module Travis
74
74
  def restart(entity)
75
75
  # btw, internally we call this reset, not restart, as it resets the state machine
76
76
  # but we thought that would be too confusing
77
+ raise Error, "cannot restart a #{entity.class.one}" unless entity.restartable?
77
78
  session.post_raw('/requests', "#{entity.class.one}_id" => entity.id)
78
79
  entity.reload
79
80
  end
80
81
 
82
+ def cancel(entity)
83
+ raise Error, "cannot cancel a #{entity.class.one}" unless entity.cancelable?
84
+ session.post_raw("/#{entity.class.many}/#{entity.id}/cancel")
85
+ entity.reload
86
+ end
87
+
81
88
  def listen(*entities, &block)
82
89
  listener = Listener.new(session)
83
90
  listener.subscribe(*entities, &block)
@@ -0,0 +1,23 @@
1
+ require 'travis/client'
2
+
3
+ module Travis
4
+ module Client
5
+ module Restartable
6
+ def restartable?
7
+ true
8
+ end
9
+
10
+ def restart
11
+ session.restart(self)
12
+ end
13
+
14
+ def cancelable?
15
+ true
16
+ end
17
+
18
+ def cancel
19
+ session.cancel(self)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -194,10 +194,14 @@ module Travis
194
194
  end
195
195
 
196
196
  def handle_error(e)
197
- message = e.response[:body].to_str rescue e.message
198
197
  klass = Travis::Client::NotFound if e.is_a? Faraday::Error::ResourceNotFound
199
198
  klass ||= Travis::Client::Error
200
- raise klass, message, e.backtrace
199
+ raise klass, error_message(e), e.backtrace
200
+ end
201
+
202
+ def error_message(e)
203
+ message = e.response[:body].to_str rescue e.message
204
+ JSON.parse(message).fetch('error').fetch('message') rescue message
201
205
  end
202
206
 
203
207
  def reset_entities
@@ -1,3 +1,3 @@
1
1
  module Travis
2
- VERSION = '1.5.1'
2
+ VERSION = '1.5.2'
3
3
  end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Travis::CLI::Cancel do
4
+ example 'travis cancel' do
5
+ run_cli('cancel', '-t', 'token').should be_success
6
+ $params['id'].should be == "4125095"
7
+ $params['entity'].should be == "builds"
8
+ end
9
+
10
+ example 'travis cancel 6180.1' do
11
+ run_cli('cancel', '6180.1', '-t', 'token').should be_success
12
+ $params['id'].should be == "4125096"
13
+ $params['entity'].should be == "jobs"
14
+ end
15
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Travis::CLI::Endpoint do
3
+ describe Travis::CLI::Encrypt do
4
4
  example "travis encrypt foo" do
5
5
  run_cli('encrypt', 'foo').should be_success
6
6
  stdout.should match(/^".{60,}"\n$/)
@@ -16,6 +16,12 @@ describe Travis::CLI::Endpoint do
16
16
  stdout.should be == "http://localhost:3000/\n"
17
17
  end
18
18
 
19
+ example "TRAVIS_ENDPOINT=http://localhost:3000/ travis endpoint" do
20
+ ENV['TRAVIS_ENDPOINT'] = "http://localhost:3000/"
21
+ run_cli('endpoint').should be_success
22
+ stdout.should be == "http://localhost:3000/\n"
23
+ end
24
+
19
25
  example "travis endpoint -i" do
20
26
  run_cli('endpoint', '-i').should be_success
21
27
  stdout.should be == "API endpoint: https://api.travis-ci.org/\n"
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Travis::CLI::Open do
3
+ describe Travis::CLI::Restart do
4
4
  example 'travis restart' do
5
5
  run_cli('restart', '-t', 'token').should be_success
6
6
  $params['build_id'].should be == "4125095"
@@ -1,25 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Travis::CLI::Setup do
4
- example 'setup cloudcontrol' do
5
- run_cli('setup', 'cloudcontrol') { |i|
6
- i.puts('email')
7
- i.puts('password')
8
- i.puts('application')
9
- i.puts('deployment')
10
- i.puts('yes')
11
- i.puts('yes')}.should be_success
12
- stdout.should be == "cloudControl email: cloudControl password: ********\ncloudControl application: cloudControl deployment: Deploy only from rails/rails? |yes| Encrypt password key? |yes| "
13
- file = File.expand_path('.travis.yml', Dir.pwd.gsub!(/\/spec/, ''))
14
- config = YAML.load_file(file)
15
-
16
- config['deploy']['provider'].should eql('cloudcontrol')
17
- config['deploy']['email'].should eql('email')
18
- config['deploy']['deployment'].should eql('application/deployment')
19
-
20
- config.delete('deploy')
21
- yaml = config.to_yaml
22
- yaml.gsub! /\A---\s*\n/, ''
23
- File.write(file, yaml)
24
- end
4
+ # TODO
25
5
  end
@@ -19,6 +19,13 @@ describe Travis::CLI::Whoami do
19
19
  stderr.should be_empty
20
20
  end
21
21
 
22
+ example "TRAVIS_TOKEN=token travis whoami" do
23
+ ENV['TRAVIS_TOKEN'] = 'token'
24
+ run_cli('whoami').should be_success
25
+ stdout.should be == "rkh\n"
26
+ stderr.should be_empty
27
+ end
28
+
22
29
  example "travis whoami -t token -i" do
23
30
  run_cli('whoami', '-t', 'token', '-i').should be_success
24
31
  stdout.should be == "You are rkh (Konstantin Haase)\n"
@@ -20,10 +20,12 @@ RSpec.configure do |c|
20
20
  temp_dir = File.expand_path('travis-spec', Dir.tmpdir)
21
21
  FileUtils.rm_rf(temp_dir)
22
22
  FileUtils.mkdir_p(temp_dir)
23
+ ENV.delete_if { |k,v| k.start_with? "TRAVIS_" }
23
24
  ENV['TRAVIS_CONFIG_PATH'] = File.expand_path('travis', temp_dir)
24
25
  end
25
26
 
26
27
  c.after do
28
+ ENV.delete_if { |k,v| k.start_with? "TRAVIS_" }
27
29
  FileUtils.rm_rf(temp_dir)
28
30
  end
29
31
  end
@@ -727,6 +727,11 @@ module Travis
727
727
  "{}"
728
728
  end
729
729
 
730
+ post '/:entity/:id/cancel' do
731
+ $params = params
732
+ {}
733
+ end
734
+
730
735
  post '/auth/github' do
731
736
  halt(403) unless params[:github_token] == 'github_token'
732
737
  { 'access_token' => 'token' }.to_json
@@ -4,6 +4,7 @@ describe Travis do
4
4
  its(:api_endpoint) { should be == 'https://api.travis-ci.org/' }
5
5
 
6
6
  it 'has a nice inspect on entities' do
7
+ pending "does not work on JRuby" if defined? RUBY_ENGINE and RUBY_ENGINE == 'jruby'
7
8
  Travis::Repository.find('rails/rails').inspect.should be == "#<Travis::Repository: rails/rails>"
8
9
  end
9
10
  end
@@ -2,7 +2,7 @@
2
2
  Gem::Specification.new do |s|
3
3
  # general infos
4
4
  s.name = "travis"
5
- s.version = "1.5.1"
5
+ s.version = "1.5.2"
6
6
  s.description = "CLI and Ruby client library for Travis CI"
7
7
  s.homepage = "https://github.com/travis-ci/travis"
8
8
  s.summary = "Travis CI client"
@@ -17,16 +17,17 @@ Gem::Specification.new do |s|
17
17
  "Peter Souter",
18
18
  "Max Barnash",
19
19
  "Aaron Hill",
20
- "Adrien Brault",
20
+ "Mathias Meyer",
21
+ "Josh Kalderimis",
21
22
  "Justin Lambert",
22
- "Daniel Chatfield",
23
+ "Adrien Brault",
23
24
  "Laurent Petit",
24
- "Mario Visic",
25
- "Mathias Meyer",
26
- "Benjamin Manns",
25
+ "Daniel Chatfield",
27
26
  "Piotr Sarnacki",
28
27
  "Rapha\xC3\xABl Pinson",
29
28
  "Tobias Wilken",
29
+ "Mario Visic",
30
+ "Benjamin Manns",
30
31
  "Jacob Burkhart"
31
32
  ]
32
33
 
@@ -37,17 +38,18 @@ Gem::Specification.new do |s|
37
38
  "p.morsou@gmail.com",
38
39
  "i.am@anhero.ru",
39
40
  "aa1ronham@gmail.com",
41
+ "meyer@paperplanes.de",
40
42
  "jlambert@eml.cc",
41
43
  "benmanns@gmail.com",
42
44
  "adrien.brault@gmail.com",
43
45
  "laurent.petit@gmail.com",
44
46
  "chatfielddaniel@gmail.com",
45
- "meyer@paperplanes.de",
46
47
  "drogus@gmail.com",
47
48
  "raphael.pinson@camptocamp.com",
48
49
  "tw@cloudcontrol.de",
49
50
  "mario@mariovisic.com",
50
- "jburkhart@engineyard.com"
51
+ "jburkhart@engineyard.com",
52
+ "josh.kalderimis@gmail.com"
51
53
  ]
52
54
 
53
55
  # generated from git ls-files
@@ -65,6 +67,7 @@ Gem::Specification.new do |s|
65
67
  "lib/travis/cli/accounts.rb",
66
68
  "lib/travis/cli/api_command.rb",
67
69
  "lib/travis/cli/branches.rb",
70
+ "lib/travis/cli/cancel.rb",
68
71
  "lib/travis/cli/command.rb",
69
72
  "lib/travis/cli/console.rb",
70
73
  "lib/travis/cli/disable.rb",
@@ -119,6 +122,7 @@ Gem::Specification.new do |s|
119
122
  "lib/travis/client/methods.rb",
120
123
  "lib/travis/client/namespace.rb",
121
124
  "lib/travis/client/repository.rb",
125
+ "lib/travis/client/restartable.rb",
122
126
  "lib/travis/client/session.rb",
123
127
  "lib/travis/client/states.rb",
124
128
  "lib/travis/client/user.rb",
@@ -128,6 +132,7 @@ Gem::Specification.new do |s|
128
132
  "lib/travis/tools/safe_string.rb",
129
133
  "lib/travis/tools/token_finder.rb",
130
134
  "lib/travis/version.rb",
135
+ "spec/cli/cancel_spec.rb",
131
136
  "spec/cli/encrypt_spec.rb",
132
137
  "spec/cli/endpoint_spec.rb",
133
138
  "spec/cli/help_spec.rb",
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.1
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase
@@ -9,21 +9,22 @@ authors:
9
9
  - Peter Souter
10
10
  - Max Barnash
11
11
  - Aaron Hill
12
- - Adrien Brault
12
+ - Mathias Meyer
13
+ - Josh Kalderimis
13
14
  - Justin Lambert
14
- - Daniel Chatfield
15
+ - Adrien Brault
15
16
  - Laurent Petit
16
- - Mario Visic
17
- - Mathias Meyer
18
- - Benjamin Manns
17
+ - Daniel Chatfield
19
18
  - Piotr Sarnacki
20
19
  - Raphaël Pinson
21
20
  - Tobias Wilken
21
+ - Mario Visic
22
+ - Benjamin Manns
22
23
  - Jacob Burkhart
23
24
  autorequire:
24
25
  bindir: bin
25
26
  cert_chain: []
26
- date: 2013-08-15 00:00:00.000000000 Z
27
+ date: 2013-08-18 00:00:00.000000000 Z
27
28
  dependencies:
28
29
  - !ruby/object:Gem::Dependency
29
30
  name: faraday
@@ -234,17 +235,18 @@ email:
234
235
  - p.morsou@gmail.com
235
236
  - i.am@anhero.ru
236
237
  - aa1ronham@gmail.com
238
+ - meyer@paperplanes.de
237
239
  - jlambert@eml.cc
238
240
  - benmanns@gmail.com
239
241
  - adrien.brault@gmail.com
240
242
  - laurent.petit@gmail.com
241
243
  - chatfielddaniel@gmail.com
242
- - meyer@paperplanes.de
243
244
  - drogus@gmail.com
244
245
  - raphael.pinson@camptocamp.com
245
246
  - tw@cloudcontrol.de
246
247
  - mario@mariovisic.com
247
248
  - jburkhart@engineyard.com
249
+ - josh.kalderimis@gmail.com
248
250
  executables:
249
251
  - travis
250
252
  extensions:
@@ -264,6 +266,7 @@ files:
264
266
  - lib/travis/cli/accounts.rb
265
267
  - lib/travis/cli/api_command.rb
266
268
  - lib/travis/cli/branches.rb
269
+ - lib/travis/cli/cancel.rb
267
270
  - lib/travis/cli/command.rb
268
271
  - lib/travis/cli/console.rb
269
272
  - lib/travis/cli/disable.rb
@@ -318,6 +321,7 @@ files:
318
321
  - lib/travis/client/methods.rb
319
322
  - lib/travis/client/namespace.rb
320
323
  - lib/travis/client/repository.rb
324
+ - lib/travis/client/restartable.rb
321
325
  - lib/travis/client/session.rb
322
326
  - lib/travis/client/states.rb
323
327
  - lib/travis/client/user.rb
@@ -327,6 +331,7 @@ files:
327
331
  - lib/travis/tools/safe_string.rb
328
332
  - lib/travis/tools/token_finder.rb
329
333
  - lib/travis/version.rb
334
+ - spec/cli/cancel_spec.rb
330
335
  - spec/cli/encrypt_spec.rb
331
336
  - spec/cli/endpoint_spec.rb
332
337
  - spec/cli/help_spec.rb
@@ -381,8 +386,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
381
386
  version: '0'
382
387
  requirements: []
383
388
  rubyforge_project:
384
- rubygems_version: 2.0.2
389
+ rubygems_version: 2.0.5
385
390
  signing_key:
386
391
  specification_version: 4
387
392
  summary: Travis CI client
388
393
  test_files: []
394
+ has_rdoc: