capistrano-ci 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a4bb2f3e598f26beed767fa2053561d13f87924f
4
- data.tar.gz: 51f561d4c7e7353439e07062cdeb1038fd4d3911
5
- SHA512:
6
- metadata.gz: 35753365238dae3e5dc0764da0b78798d85ee9ad52ffdbd86f7751e74128904417ee18c14c5b4f8058251ee3fbe429da5d2604a7dde35aab6f40e8ba9c7dde5a
7
- data.tar.gz: 287ea3753b4b0560dbe4256669d6c62799bc4d27fa4b2bc2cd08baaf2e431776fa280a0952202b8c958403ea9c6822402c1c220845b730233f87d6446fd0d652
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YzA3ODlhMzRiZWEzYTZjZjc3MTZlMzRhNTUzZmYxZTg0YjJhMjQxNQ==
5
+ data.tar.gz: !binary |-
6
+ MTcyYWQ4MmZiNDMwMDRkMTQ0MDA5ODlhODc4MmFhZGIzYWMyYzg1ZQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ M2MyMzE5YWM1MzdjNTRjYjcwZjYyYWVlYjgzZTIxOTUzMDY4YTkzNWRjOGM1
10
+ MDIxZDVkZjZmOTYzNGZlZmZlYTYzMzJmM2FhMTgyMDQwNWUzMWQyODk3MDFk
11
+ Y2YwZmMwOTAxYzI5OGIwNWMxNzdmMGZlMDA1ZjhhZjA5YjdlZmM=
12
+ data.tar.gz: !binary |-
13
+ N2IxOTdmOGVhZjYyODE2YTAwMTJiMTdiZDhkNTQyNjAzYTI3M2FjMzhmODBl
14
+ Mzg5Njc5MDA4YzY2OTgyMmYwYzVkZGVjMTUzYWI1MTI1NWJhYjcwMGU0MTUx
15
+ YjMzZjBhMTUwNmI5MzJiM2IxMGVlZjlkZWE1ZWM0MmJjZTZhOGQ=
data/README.md CHANGED
@@ -6,7 +6,8 @@
6
6
 
7
7
  capistrano-ci is extension for capistrano that allows you to check status of your repository before deployment. Currently it supports:
8
8
 
9
- * travis-ci: Open Source and Pro versions ([https://travis-ci.org](https://travis-ci.org) or [https://travis-ci.com](https://travis-ci.com))
9
+ * Travis CI: Open Source and Pro versions ([https://travis-ci.org](https://travis-ci.org) or [https://travis-ci.com](https://travis-ci.com))
10
+ * CircleCi: [https://circleci.com](https://circleci.com)
10
11
 
11
12
  ## Installation
12
13
 
@@ -30,7 +31,7 @@ Add to your Capfile:
30
31
 
31
32
  Variables list:
32
33
 
33
- * :ci_client (required) - supports 'travis' or 'travis_pro';
34
+ * :ci_client (required) - supports 'travis', 'travis_pro' or 'circle';
34
35
  * :ci_repository (required) - organization or user name and repository name on github;
35
36
  * :ci_access_token(required only for 'travis_pro' ci client) - access token for Pro account on Travis-CI.
36
37
 
@@ -51,6 +52,14 @@ Additional to ci_client and ci_repository setup ci_access_token:
51
52
 
52
53
  Read explaination [how to obtain Travis-CI access token](http://railsware.com/blog/2013/09/10/capistrano-recipe-for-checking-travis-ci-build-status/). To have more information about Travis-CI access token follow [this blog post](http://about.travis-ci.org/blog/2013-01-28-token-token-token).
53
54
 
55
+ ### CircleCi:
56
+
57
+ Setup ci_client, ci_repository and ci_access_token in your deployment script:
58
+
59
+ set(:ci_client){ "circle" }
60
+ set(:ci_repository){ "organisation-or-user/repository-name" }
61
+ set(:ci_access_token){ "your-pro-access-token" }
62
+
54
63
  ### Enable ci:verify task:
55
64
 
56
65
  before 'deploy' do
data/lib/capistrano/ci.rb CHANGED
@@ -2,4 +2,9 @@ require "capistrano/ci/version"
2
2
  require "capistrano/ci/clients/base"
3
3
  require "capistrano/ci/clients/travis"
4
4
  require "capistrano/ci/clients/travis_pro"
5
+ require "capistrano/ci/clients/circle"
5
6
  require "capistrano/ci/client"
7
+
8
+ Capistrano::CI::Client.register "travis", Capistrano::CI::Clients::Travis, [:ci_repository]
9
+ Capistrano::CI::Client.register "travis_pro", Capistrano::CI::Clients::TravisPro, [:ci_repository, :ci_access_token]
10
+ Capistrano::CI::Client.register "circle", Capistrano::CI::Clients::Circle, [:ci_repository, :ci_access_token]
@@ -1,12 +1,26 @@
1
1
  module Capistrano
2
2
  module CI
3
3
  class Client
4
- SETTINGS = [:ci_client, :ci_repository, :ci_access_token]
5
-
6
4
  class NotFound < StandardError; end
7
5
 
6
+ class << self
7
+ def register(client_name, client_class, attributes = [])
8
+ self.clients[client_name] ||= { client_class: client_class, attributes: attributes }
9
+ @settings = settings | attributes
10
+ end
11
+
12
+ def clients
13
+ @clients ||= {}
14
+ end
15
+
16
+ def settings
17
+ @settings ||= [:ci_client]
18
+ end
19
+ end
20
+
21
+
8
22
  def initialize(config)
9
- @config = SETTINGS.inject({}) do |result, key|
23
+ @config = self.class.settings.inject({}) do |result, key|
10
24
  result[key] = config[key] if config.exists?(key)
11
25
  result
12
26
  end
@@ -23,15 +37,19 @@ module Capistrano
23
37
  private
24
38
 
25
39
  def client
26
- @client ||= case @config[:ci_client]
27
- when "travis"
28
- Capistrano::CI::Clients::Travis.new @config[:ci_repository]
29
- when "travis_pro"
30
- Capistrano::CI::Clients::TravisPro.new @config[:ci_repository], @config[:ci_access_token]
31
- else
32
- raise NotFound, "can't find CI client with name '#{@config[:ci_client]}'"
33
- end
40
+ @client ||= find_and_initialize_client or raise(NotFound, "can't find CI client with name '#{@config[:ci_client]}'")
41
+ end
42
+
43
+ def find_and_initialize_client
44
+ client_settings = self.class.clients[@config[:ci_client]]
45
+
46
+ client_settings[:client_class].new(prepare_client_attributes(client_settings)) if client_settings
47
+ end
48
+
49
+ def prepare_client_attributes(settings)
50
+ @config.select{ |key, _| settings[:attributes].include?(key) }
34
51
  end
52
+
35
53
  end
36
54
  end
37
55
  end
@@ -0,0 +1,35 @@
1
+ module Capistrano
2
+ module CI
3
+ module Clients
4
+ class Circle < Base
5
+ base_uri "https://circleci.com/api/v1"
6
+
7
+ def initialize(settings = {})
8
+ self.class.default_params "circle-token" => settings[:ci_access_token]
9
+ self.class.headers 'Accept' => 'application/json'
10
+
11
+ @repository_name = settings[:ci_repository]
12
+ end
13
+
14
+ def passed?(branch_name)
15
+ state(branch_name) == "success"
16
+ end
17
+
18
+ def state(branch_name)
19
+ branch(branch_name)["status"]
20
+ end
21
+
22
+ private
23
+
24
+ def branch(branch_name)
25
+ @branches ||= {}
26
+ @branches[branch_name] = find_branch(get("/project/#{@repository_name}"), branch_name)
27
+ end
28
+
29
+ def find_branch(response, branch_name)
30
+ response.detect{ |item| item["branch"] == branch_name} || raise(Capistrano::CI::Clients::ResponseError)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -6,10 +6,10 @@ module Capistrano
6
6
 
7
7
  attr_reader :repository_name
8
8
 
9
- def initialize(repository_name)
9
+ def initialize(settings = {})
10
10
  self.class.headers 'Accept' => 'application/json; version=2'
11
11
 
12
- @repository_name = repository_name
12
+ @repository_name = settings[:ci_repository]
13
13
  end
14
14
 
15
15
  def passed?(branch)
@@ -4,10 +4,10 @@ module Capistrano
4
4
  class TravisPro < Travis
5
5
  base_uri 'https://api.travis-ci.com'
6
6
 
7
- def initialize(repository_name, api_token)
8
- @repository_name = repository_name
7
+ def initialize(settings = {})
8
+ @repository_name = settings[:ci_repository]
9
9
 
10
- self.class.headers 'Accept' => 'application/json; version=2', "Authorization" => "token #{api_token}"
10
+ self.class.headers 'Accept' => 'application/json; version=2', "Authorization" => "token #{settings[:ci_access_token]}"
11
11
  end
12
12
  end
13
13
  end
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module Ci
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -15,28 +15,55 @@ describe Capistrano::CI::Client do
15
15
 
16
16
  let(:client){ described_class.new(config) }
17
17
 
18
+ describe ".register" do
19
+ before{ described_class.register "new_client", Object, [:ci_new_setting] }
20
+
21
+ after do
22
+ described_class.clients.delete("new_client")
23
+ described_class.settings.delete(:ci_new_setting)
24
+ end
25
+
26
+ it{ expect(described_class.clients["new_client"]).to eq({ client_class: Object, attributes: [:ci_new_setting] }) }
27
+ it{ expect(described_class.settings).to include(:ci_new_setting) }
28
+ end
29
+
30
+ describe ".clients" do
31
+ subject{ described_class.clients }
32
+
33
+ it{ should have(3).items }
34
+ end
35
+
18
36
  describe "#state" do
19
37
 
20
38
  subject{ client.state("master") }
21
39
 
22
40
  context "when travis" do
41
+ let(:client_class){ Capistrano::CI::Clients::Travis }
23
42
  let(:ci_client){ "travis" }
24
43
  let(:travis_client){ double(state: "passed") }
25
44
 
26
- before do
27
- Capistrano::CI::Clients::Travis.should_receive(:new).with("rails/rails").and_return(travis_client)
28
- end
45
+ before{ expect(client_class).to receive(:new).with(ci_repository: "rails/rails").and_return(travis_client) }
46
+
47
+ it{ should == "passed" }
48
+ end
49
+
50
+ context "when circle" do
51
+ let(:client_class){ Capistrano::CI::Clients::Circle }
52
+ let(:ci_client){ "circle" }
53
+ let(:travis_client){ double(state: "passed") }
54
+
55
+ before{ expect(client_class).to receive(:new).with(ci_repository: "rails/rails", ci_access_token: "token").and_return(travis_client) }
29
56
 
30
57
  it{ should == "passed" }
31
58
  end
32
59
 
33
60
  context "when travis pro" do
61
+ let(:client_class){ Capistrano::CI::Clients::TravisPro }
62
+
34
63
  let(:ci_client){ "travis_pro" }
35
64
  let(:travis_client){ double(state: "passed") }
36
65
 
37
- before do
38
- Capistrano::CI::Clients::TravisPro.should_receive(:new).with("rails/rails","token").and_return(travis_client)
39
- end
66
+ before{ expect(client_class).to receive(:new).with(ci_repository: "rails/rails", ci_access_token: "token").and_return(travis_client) }
40
67
 
41
68
  it{ should == "passed" }
42
69
  end
@@ -52,26 +79,35 @@ describe Capistrano::CI::Client do
52
79
  subject{ client.passed?("master") }
53
80
 
54
81
  context "when travis" do
82
+ let(:client_class){ Capistrano::CI::Clients::Travis }
55
83
  let(:ci_client){ "travis" }
56
84
  let(:travis_client){ double(passed?: true) }
57
85
 
58
- before do
59
- Capistrano::CI::Clients::Travis.should_receive(:new).with("rails/rails").and_return(travis_client)
60
- end
86
+ before{ expect(client_class).to receive(:new).with(ci_repository: "rails/rails").and_return(travis_client) }
87
+
88
+ it{ should == true }
89
+ end
90
+
91
+ context "when circle" do
92
+ let(:client_class){ Capistrano::CI::Clients::Circle }
93
+ let(:ci_client){ "circle" }
94
+ let(:travis_client){ double(passed?: true) }
95
+
96
+ before{ expect(client_class).to receive(:new).with(ci_repository: "rails/rails", ci_access_token: "token").and_return(travis_client) }
61
97
 
62
98
  it{ should == true }
63
99
  end
64
100
 
65
101
  context "when travis pro" do
102
+ let(:client_class){ Capistrano::CI::Clients::TravisPro }
66
103
  let(:ci_client){ "travis_pro" }
67
104
  let(:travis_client){ double(passed?: true) }
68
105
 
69
- before do
70
- Capistrano::CI::Clients::Travis.should_receive(:new).with("rails/rails","token").and_return(travis_client)
71
- end
106
+ before{ expect(client_class).to receive(:new).with(ci_repository: "rails/rails", ci_access_token: "token").and_return(travis_client) }
72
107
 
73
108
  it{ should == true }
74
109
  end
110
+
75
111
  context "when unsupported" do
76
112
  let(:ci_client){ "unsupported" }
77
113
 
@@ -4,12 +4,12 @@ describe Capistrano::CI::Clients::Base do
4
4
  describe "#passed?" do
5
5
  subject{ described_class.new.passed?("master") }
6
6
 
7
- it{ ->{ subject }.should raise_error(NotImplementedError) }
7
+ it{ expect{ subject }.to raise_error(NotImplementedError) }
8
8
  end
9
9
 
10
10
  describe "#state" do
11
11
  subject{ described_class.new.state("master") }
12
12
 
13
- it{ ->{ subject }.should raise_error(NotImplementedError) }
13
+ it{ expect{ subject }.to raise_error(NotImplementedError) }
14
14
  end
15
15
  end
@@ -0,0 +1,49 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capistrano::CI::Clients::Circle, :vcr do
4
+ let(:client){ described_class.new ci_repository: "rails/rails", ci_access_token: "api_token" }
5
+
6
+ describe "#passed?" do
7
+ subject{ client.passed?(branch_name) }
8
+
9
+ context "when passed" do
10
+ let(:branch_name){ "master" }
11
+
12
+ it{ should == true }
13
+ end
14
+
15
+ context "when not passed" do
16
+ let(:branch_name){ "development" }
17
+
18
+ it{ should == false }
19
+ end
20
+ end
21
+
22
+ describe "#state" do
23
+ let(:branch_name){ "master" }
24
+
25
+ subject{ client.state(branch_name) }
26
+
27
+ context "when passed" do
28
+ it{ should == "success" }
29
+ end
30
+
31
+ context "when not passed" do
32
+ let(:branch_name){ "development" }
33
+
34
+ it{ should == "failed" }
35
+ end
36
+
37
+ context "when branch was not found" do
38
+ let(:branch_name){ "some_branch" }
39
+
40
+ it{ expect{ subject }.to raise_error(Capistrano::CI::Clients::ResponseError) }
41
+ end
42
+
43
+ context "when repository was not found" do
44
+ let(:client){ described_class.new ci_repository: "sendgridlabs/loaderio-web-blabla", ci_access_token: "api_token" }
45
+
46
+ it{ expect{ subject }.to raise_error(Capistrano::CI::Clients::ResponseError) }
47
+ end
48
+ end
49
+ end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Capistrano::CI::Clients::TravisPro, :vcr do
4
- let(:client){ described_class.new("rails/rails-private", "secret_token") }
4
+ let(:client){ described_class.new(ci_repository: "rails/rails-private", ci_access_token: "secret_token") }
5
5
 
6
6
  describe "#passed?" do
7
7
  subject{ client.passed?(branch_name) }
@@ -36,7 +36,7 @@ describe Capistrano::CI::Clients::TravisPro, :vcr do
36
36
  end
37
37
 
38
38
  context "when repository was not found" do
39
- let(:client){ described_class.new("rails/some_strange_repo", "secret_token") }
39
+ let(:client){ described_class.new(ci_repository: "rails/some_strange_repo", ci_access_token: "secret_token") }
40
40
 
41
41
  let(:branch_name){ "master" }
42
42
 
@@ -5,13 +5,13 @@ describe Capistrano::CI::Clients::Travis, :vcr do
5
5
  subject{ client.passed?("master") }
6
6
 
7
7
  context "when passed" do
8
- let(:client){ described_class.new("rails/rails") }
8
+ let(:client){ described_class.new(ci_repository: "rails/rails") }
9
9
 
10
10
  it{ should == true }
11
11
  end
12
12
 
13
13
  context "when failed" do
14
- let(:client){ described_class.new("railsware/zero_deploy") }
14
+ let(:client){ described_class.new(ci_repository: "railsware/zero_deploy") }
15
15
 
16
16
  it{ should == false }
17
17
  end
@@ -23,19 +23,19 @@ describe Capistrano::CI::Clients::Travis, :vcr do
23
23
 
24
24
 
25
25
  context "when passed" do
26
- let(:client){ described_class.new("rails/rails") }
26
+ let(:client){ described_class.new(ci_repository: "rails/rails") }
27
27
 
28
28
  it{ should == "passed" }
29
29
  end
30
30
 
31
31
  context "when failed" do
32
- let(:client){ described_class.new("railsware/zero_deploy") }
32
+ let(:client){ described_class.new(ci_repository: "railsware/zero_deploy") }
33
33
 
34
34
  it{ should == "failed" }
35
35
  end
36
36
 
37
37
  context "when repository was not found" do
38
- let(:client){ described_class.new("rails/some_strange_repo") }
38
+ let(:client){ described_class.new(ci_repository: "rails/some_strange_repo") }
39
39
 
40
40
  it{ expect{ subject }.to raise_error(Capistrano::CI::Clients::ResponseError) }
41
41
  end
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://circleci.com/api/v1/project/rails/rails?circle-token=api_token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Access-Control-Allow-Origin:
18
+ - '*'
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ Date:
22
+ - Sat, 19 Oct 2013 12:41:04 GMT
23
+ Server:
24
+ - nginx/1.2.6 (Ubuntu)
25
+ Set-Cookie:
26
+ - ring-session=J4LTCJU%2BN%2BxC%2BCrEGrnwo1C6y1JJLHmQAKxBMFlYzSg%3D--41yDCmAMrlKkuRzkBN%2BgS%2BKcgwLdB4TXL4S71zKVGlo%3D;Path=/;HttpOnly;Expires=Sun,
27
+ 19 Oct 2014 08:06:51 +0000;Max-Age=31536000;Secure
28
+ X-Circleci-Identity:
29
+ - i-1be2b67e
30
+ Content-Length:
31
+ - '3239'
32
+ Connection:
33
+ - keep-alive
34
+ body:
35
+ encoding: UTF-8
36
+ string: '[{"dont_build":null,"committer_name":"Alexey Vasiliev","usage_queued_at":"2013-10-19T11:01:01.721Z","branch":"master","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64719,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":null,"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":319617,"why":"retry","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T11:01:01.821Z","stop_time":"2013-10-19T11:06:21.438Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
37
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":1,"previous_successful_build":null,"outcome":"failed","status":"success","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":2,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":{"build_time_millis":245806,"status":"failed","build_num":1},"all_commit_details":[{"committer_name":"Alexey
38
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
39
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/2","author_name":"Alexey
40
+ Vasiliev","queued_at":"2013-10-19T11:01:01.818Z"},{"dont_build":null,"committer_name":"Alexey
41
+ Vasiliev","usage_queued_at":"2013-10-19T10:47:49.531Z","branch":"development","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64712,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":[2],"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":245806,"why":"first-build","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T10:47:49.652Z","stop_time":"2013-10-19T10:51:55.458Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
42
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":null,"previous_successful_build":null,"outcome":"failed","status":"failed","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":1,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":null,"all_commit_details":[{"committer_name":"Alexey
43
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
44
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/1","author_name":"Alexey
45
+ Vasiliev","queued_at":"2013-10-19T10:47:49.632Z"}]'
46
+ http_version:
47
+ recorded_at: Sat, 19 Oct 2013 12:41:09 GMT
48
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://circleci.com/api/v1/project/rails/rails?circle-token=api_token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Access-Control-Allow-Origin:
18
+ - '*'
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ Date:
22
+ - Sat, 19 Oct 2013 12:41:04 GMT
23
+ Server:
24
+ - nginx/1.2.6 (Ubuntu)
25
+ Set-Cookie:
26
+ - ring-session=J4LTCJU%2BN%2BxC%2BCrEGrnwo1C6y1JJLHmQAKxBMFlYzSg%3D--41yDCmAMrlKkuRzkBN%2BgS%2BKcgwLdB4TXL4S71zKVGlo%3D;Path=/;HttpOnly;Expires=Sun,
27
+ 19 Oct 2014 08:06:51 +0000;Max-Age=31536000;Secure
28
+ X-Circleci-Identity:
29
+ - i-1be2b67e
30
+ Content-Length:
31
+ - '3239'
32
+ Connection:
33
+ - keep-alive
34
+ body:
35
+ encoding: UTF-8
36
+ string: '[{"dont_build":null,"committer_name":"Alexey Vasiliev","usage_queued_at":"2013-10-19T11:01:01.721Z","branch":"master","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64719,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":null,"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":319617,"why":"retry","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T11:01:01.821Z","stop_time":"2013-10-19T11:06:21.438Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
37
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":1,"previous_successful_build":null,"outcome":"failed","status":"success","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":2,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":{"build_time_millis":245806,"status":"failed","build_num":1},"all_commit_details":[{"committer_name":"Alexey
38
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
39
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/2","author_name":"Alexey
40
+ Vasiliev","queued_at":"2013-10-19T11:01:01.818Z"},{"dont_build":null,"committer_name":"Alexey
41
+ Vasiliev","usage_queued_at":"2013-10-19T10:47:49.531Z","branch":"development","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64712,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":[2],"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":245806,"why":"first-build","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T10:47:49.652Z","stop_time":"2013-10-19T10:51:55.458Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
42
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":null,"previous_successful_build":null,"outcome":"failed","status":"failed","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":1,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":null,"all_commit_details":[{"committer_name":"Alexey
43
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
44
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/1","author_name":"Alexey
45
+ Vasiliev","queued_at":"2013-10-19T10:47:49.632Z"}]'
46
+ http_version:
47
+ recorded_at: Sat, 19 Oct 2013 12:41:09 GMT
48
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://circleci.com/api/v1/project/rails/rails?circle-token=api_token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Access-Control-Allow-Origin:
18
+ - '*'
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ Date:
22
+ - Sat, 19 Oct 2013 12:41:04 GMT
23
+ Server:
24
+ - nginx/1.2.6 (Ubuntu)
25
+ Set-Cookie:
26
+ - ring-session=J4LTCJU%2BN%2BxC%2BCrEGrnwo1C6y1JJLHmQAKxBMFlYzSg%3D--41yDCmAMrlKkuRzkBN%2BgS%2BKcgwLdB4TXL4S71zKVGlo%3D;Path=/;HttpOnly;Expires=Sun,
27
+ 19 Oct 2014 08:06:51 +0000;Max-Age=31536000;Secure
28
+ X-Circleci-Identity:
29
+ - i-1be2b67e
30
+ Content-Length:
31
+ - '3239'
32
+ Connection:
33
+ - keep-alive
34
+ body:
35
+ encoding: UTF-8
36
+ string: '[{"dont_build":null,"committer_name":"Alexey Vasiliev","usage_queued_at":"2013-10-19T11:01:01.721Z","branch":"master","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64719,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":null,"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":319617,"why":"retry","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T11:01:01.821Z","stop_time":"2013-10-19T11:06:21.438Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
37
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":1,"previous_successful_build":null,"outcome":"failed","status":"success","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":2,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":{"build_time_millis":245806,"status":"failed","build_num":1},"all_commit_details":[{"committer_name":"Alexey
38
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
39
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/2","author_name":"Alexey
40
+ Vasiliev","queued_at":"2013-10-19T11:01:01.818Z"},{"dont_build":null,"committer_name":"Alexey
41
+ Vasiliev","usage_queued_at":"2013-10-19T10:47:49.531Z","branch":"development","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64712,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":[2],"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":245806,"why":"first-build","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T10:47:49.652Z","stop_time":"2013-10-19T10:51:55.458Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
42
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":null,"previous_successful_build":null,"outcome":"failed","status":"failed","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":1,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":null,"all_commit_details":[{"committer_name":"Alexey
43
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
44
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/1","author_name":"Alexey
45
+ Vasiliev","queued_at":"2013-10-19T10:47:49.632Z"}]'
46
+ http_version:
47
+ recorded_at: Sat, 19 Oct 2013 12:41:09 GMT
48
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://circleci.com/api/v1/project/rails/rails?circle-token=api_token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Access-Control-Allow-Origin:
18
+ - '*'
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ Date:
22
+ - Sat, 19 Oct 2013 12:41:04 GMT
23
+ Server:
24
+ - nginx/1.2.6 (Ubuntu)
25
+ Set-Cookie:
26
+ - ring-session=J4LTCJU%2BN%2BxC%2BCrEGrnwo1C6y1JJLHmQAKxBMFlYzSg%3D--41yDCmAMrlKkuRzkBN%2BgS%2BKcgwLdB4TXL4S71zKVGlo%3D;Path=/;HttpOnly;Expires=Sun,
27
+ 19 Oct 2014 08:06:51 +0000;Max-Age=31536000;Secure
28
+ X-Circleci-Identity:
29
+ - i-1be2b67e
30
+ Content-Length:
31
+ - '3239'
32
+ Connection:
33
+ - keep-alive
34
+ body:
35
+ encoding: UTF-8
36
+ string: '[{"dont_build":null,"committer_name":"Alexey Vasiliev","usage_queued_at":"2013-10-19T11:01:01.721Z","branch":"master","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64719,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":null,"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":319617,"why":"retry","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T11:01:01.821Z","stop_time":"2013-10-19T11:06:21.438Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
37
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":1,"previous_successful_build":null,"outcome":"failed","status":"success","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":2,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":{"build_time_millis":245806,"status":"failed","build_num":1},"all_commit_details":[{"committer_name":"Alexey
38
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
39
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/2","author_name":"Alexey
40
+ Vasiliev","queued_at":"2013-10-19T11:01:01.818Z"},{"dont_build":null,"committer_name":"Alexey
41
+ Vasiliev","usage_queued_at":"2013-10-19T10:47:49.531Z","branch":"development","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64712,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":[2],"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":245806,"why":"first-build","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T10:47:49.652Z","stop_time":"2013-10-19T10:51:55.458Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
42
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":null,"previous_successful_build":null,"outcome":"failed","status":"failed","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":1,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":null,"all_commit_details":[{"committer_name":"Alexey
43
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
44
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/1","author_name":"Alexey
45
+ Vasiliev","queued_at":"2013-10-19T10:47:49.632Z"}]'
46
+ http_version:
47
+ recorded_at: Sat, 19 Oct 2013 12:41:09 GMT
48
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://circleci.com/api/v1/project/rails/rails?circle-token=api_token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Access-Control-Allow-Origin:
18
+ - '*'
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ Date:
22
+ - Sat, 19 Oct 2013 12:41:04 GMT
23
+ Server:
24
+ - nginx/1.2.6 (Ubuntu)
25
+ Set-Cookie:
26
+ - ring-session=J4LTCJU%2BN%2BxC%2BCrEGrnwo1C6y1JJLHmQAKxBMFlYzSg%3D--41yDCmAMrlKkuRzkBN%2BgS%2BKcgwLdB4TXL4S71zKVGlo%3D;Path=/;HttpOnly;Expires=Sun,
27
+ 19 Oct 2014 08:06:51 +0000;Max-Age=31536000;Secure
28
+ X-Circleci-Identity:
29
+ - i-1be2b67e
30
+ Content-Length:
31
+ - '3239'
32
+ Connection:
33
+ - keep-alive
34
+ body:
35
+ encoding: UTF-8
36
+ string: '[{"dont_build":null,"committer_name":"Alexey Vasiliev","usage_queued_at":"2013-10-19T11:01:01.721Z","branch":"master","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64719,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":null,"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":319617,"why":"retry","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T11:01:01.821Z","stop_time":"2013-10-19T11:06:21.438Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
37
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":1,"previous_successful_build":null,"outcome":"failed","status":"success","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":2,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":{"build_time_millis":245806,"status":"failed","build_num":1},"all_commit_details":[{"committer_name":"Alexey
38
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
39
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/2","author_name":"Alexey
40
+ Vasiliev","queued_at":"2013-10-19T11:01:01.818Z"},{"dont_build":null,"committer_name":"Alexey
41
+ Vasiliev","usage_queued_at":"2013-10-19T10:47:49.531Z","branch":"development","body":"","author_date":"1382126717","node":[{"username":"ubuntu","ssh_enabled":null,"port":64712,"public_ip_addr":"54.227.67.104"}],"committer_date":"1382126717","retries":[2],"parallel":1,"committer_email":"leopard.not.a@gmail.com","build_time_millis":245806,"why":"first-build","author_email":"leopard.not.a@gmail.com","ssh_enabled":null,"start_time":"2013-10-19T10:47:49.652Z","stop_time":"2013-10-19T10:51:55.458Z","lifecycle":"finished","user":{"is_user":true,"login":"paladiy","name":"Olexander
42
+ Paladiy","email":"OlexanderPaladiy@gmail.com"},"subject":"css","messages":[],"job_name":null,"retry_of":null,"previous_successful_build":null,"outcome":"failed","status":"failed","vcs_revision":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","build_num":1,"vcs_url":"https://github.com/rails/rails","timedout":false,"previous":null,"all_commit_details":[{"committer_name":"Alexey
43
+ Vasiliev","branch":"master","body":"","author_date":"1382126717","committer_date":"1382126717","commit_url":"https://github.com/rails/rails/commit/c00e43c06f1c84c6005ba26e5e5704dc4064da18","committer_email":"leopard.not.a@gmail.com","author_email":"leopard.not.a@gmail.com","subject":"css","commit":"c00e43c06f1c84c6005ba26e5e5704dc4064da18","author_name":"Alexey
44
+ Vasiliev"}],"canceled":false,"infrastructure_fail":false,"failed":true,"build_url":"https://circleci.com/gh/rails/rails/1","author_name":"Alexey
45
+ Vasiliev","queued_at":"2013-10-19T10:47:49.632Z"}]'
46
+ http_version:
47
+ recorded_at: Sat, 19 Oct 2013 12:41:09 GMT
48
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,39 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://circleci.com/api/v1/project/sendgridlabs/loaderio-web-blabla?circle-token=api_token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 404
15
+ message: Not Found
16
+ headers:
17
+ Access-Control-Allow-Origin:
18
+ - '*'
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ Date:
22
+ - Sat, 19 Oct 2013 12:54:24 GMT
23
+ Server:
24
+ - nginx/1.2.6 (Ubuntu)
25
+ Set-Cookie:
26
+ - ring-session=8TBGCU2%2BNZIfzY8BPRZTbf4OkmXyTlFnkvFVVPt0nP8%3D--g3Qyiaw2x36oZNnli4Pl6ELrndAAQQfPVqD74P%2FD26A%3D;Path=/;HttpOnly;Expires=Sun,
27
+ 19 Oct 2014 12:42:25 +0000;Max-Age=31536000;Secure
28
+ X-Circleci-Identity:
29
+ - i-d7dd5faf
30
+ Content-Length:
31
+ - '46'
32
+ Connection:
33
+ - keep-alive
34
+ body:
35
+ encoding: UTF-8
36
+ string: '{"message":"Couldn''t find project at GitHub."}'
37
+ http_version:
38
+ recorded_at: Sat, 19 Oct 2013 12:54:29 GMT
39
+ recorded_with: VCR 2.6.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-ci
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - paladiy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-19 00:00:00.000000000 Z
11
+ date: 2013-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,14 +28,14 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
@@ -98,28 +98,28 @@ dependencies:
98
98
  name: capistrano
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ! '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: 2.5.5
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ! '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: 2.5.5
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: httparty
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ! '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  description: Capistrano recipe for checking CI build status
@@ -139,15 +139,23 @@ files:
139
139
  - lib/capistrano/ci.rb
140
140
  - lib/capistrano/ci/client.rb
141
141
  - lib/capistrano/ci/clients/base.rb
142
+ - lib/capistrano/ci/clients/circle.rb
142
143
  - lib/capistrano/ci/clients/travis.rb
143
144
  - lib/capistrano/ci/clients/travis_pro.rb
144
145
  - lib/capistrano/ci/recipes.rb
145
146
  - lib/capistrano/ci/version.rb
146
147
  - spec/capistrano/ci/client_spec.rb
147
148
  - spec/capistrano/ci/clients/base_spec.rb
149
+ - spec/capistrano/ci/clients/circle_spec.rb
148
150
  - spec/capistrano/ci/clients/travis_pro_spec.rb
149
151
  - spec/capistrano/ci/clients/travis_spec.rb
150
152
  - spec/spec_helper.rb
153
+ - spec/vcr/Capistrano_CI_Clients_Circle/_passed_/when_not_passed/.yml
154
+ - spec/vcr/Capistrano_CI_Clients_Circle/_passed_/when_passed/.yml
155
+ - spec/vcr/Capistrano_CI_Clients_Circle/_state/when_branch_was_not_found/.yml
156
+ - spec/vcr/Capistrano_CI_Clients_Circle/_state/when_not_passed/.yml
157
+ - spec/vcr/Capistrano_CI_Clients_Circle/_state/when_passed/.yml
158
+ - spec/vcr/Capistrano_CI_Clients_Circle/_state/when_repository_was_not_found/.yml
151
159
  - spec/vcr/Capistrano_CI_Clients_Travis/_passed_/when_failed/.yml
152
160
  - spec/vcr/Capistrano_CI_Clients_Travis/_passed_/when_passed/.yml
153
161
  - spec/vcr/Capistrano_CI_Clients_Travis/_state/when_failed/.yml
@@ -168,26 +176,33 @@ require_paths:
168
176
  - lib
169
177
  required_ruby_version: !ruby/object:Gem::Requirement
170
178
  requirements:
171
- - - '>='
179
+ - - ! '>='
172
180
  - !ruby/object:Gem::Version
173
181
  version: '0'
174
182
  required_rubygems_version: !ruby/object:Gem::Requirement
175
183
  requirements:
176
- - - '>='
184
+ - - ! '>='
177
185
  - !ruby/object:Gem::Version
178
186
  version: '0'
179
187
  requirements: []
180
188
  rubyforge_project:
181
- rubygems_version: 2.0.4
189
+ rubygems_version: 2.0.3
182
190
  signing_key:
183
191
  specification_version: 4
184
192
  summary: Capistrano recipe for checking CI build status of your repo
185
193
  test_files:
186
194
  - spec/capistrano/ci/client_spec.rb
187
195
  - spec/capistrano/ci/clients/base_spec.rb
196
+ - spec/capistrano/ci/clients/circle_spec.rb
188
197
  - spec/capistrano/ci/clients/travis_pro_spec.rb
189
198
  - spec/capistrano/ci/clients/travis_spec.rb
190
199
  - spec/spec_helper.rb
200
+ - spec/vcr/Capistrano_CI_Clients_Circle/_passed_/when_not_passed/.yml
201
+ - spec/vcr/Capistrano_CI_Clients_Circle/_passed_/when_passed/.yml
202
+ - spec/vcr/Capistrano_CI_Clients_Circle/_state/when_branch_was_not_found/.yml
203
+ - spec/vcr/Capistrano_CI_Clients_Circle/_state/when_not_passed/.yml
204
+ - spec/vcr/Capistrano_CI_Clients_Circle/_state/when_passed/.yml
205
+ - spec/vcr/Capistrano_CI_Clients_Circle/_state/when_repository_was_not_found/.yml
191
206
  - spec/vcr/Capistrano_CI_Clients_Travis/_passed_/when_failed/.yml
192
207
  - spec/vcr/Capistrano_CI_Clients_Travis/_passed_/when_passed/.yml
193
208
  - spec/vcr/Capistrano_CI_Clients_Travis/_state/when_failed/.yml