capistrano-ci 0.0.1 → 0.0.2

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,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