tachikoma 3.0.1 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tachikoma/version.rb +1 -1
- data/lib/tasks/app.rake +16 -30
- data/tachikoma.gemspec +1 -2
- metadata +5 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10078550dec162c6f28dc1b64a42b98d2f364952
|
4
|
+
data.tar.gz: 388bb16cb73f62cce0ceb293f004cae16f54890b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16ae1f0ba56bc5940e052908a6dc205434e7a8dd622fb6b28a2dc7e6876dbab0de0e780e684a484778a1aaf663940ff123b4de03722dcf426bcd09e57c5638f0
|
7
|
+
data.tar.gz: e577b30d83bbda8df93cbfb58cc956f3a35c892bbb0920d5fe5932bb1199adb34e8bba201dbb0884588f24c18c1e2886f72a098f62dc2400f11daf27142bf354
|
data/lib/tachikoma/version.rb
CHANGED
data/lib/tasks/app.rake
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
require 'httparty'
|
2
|
-
require 'multi_json'
|
3
1
|
require 'safe_yaml'
|
4
2
|
require 'uri'
|
5
3
|
require 'tachikoma'
|
4
|
+
require 'octokit'
|
6
5
|
|
7
6
|
namespace :tachikoma do
|
8
7
|
# deprecated, this will be removed v3.1.0
|
@@ -28,11 +27,6 @@ namespace :tachikoma do
|
|
28
27
|
path.sub(%r!^/[^/]+!) { '/' + github_account }
|
29
28
|
end
|
30
29
|
|
31
|
-
def target_url(fetch_url)
|
32
|
-
uri = URI.parse(fetch_url)
|
33
|
-
'https://api.github.com/repos/' + uri.path.sub(%r!^/(.*)\.git$!) { $1 } + '/pulls'
|
34
|
-
end
|
35
|
-
|
36
30
|
def target_repository_user(type, fetch_url, github_account)
|
37
31
|
if type == 'fork'
|
38
32
|
github_account
|
@@ -44,6 +38,10 @@ namespace :tachikoma do
|
|
44
38
|
end
|
45
39
|
end
|
46
40
|
|
41
|
+
def repository_identity(url)
|
42
|
+
%r!((?:[^/]*?)/(?:[^/]*?))(?:\.git)?$!.match(url)[1]
|
43
|
+
end
|
44
|
+
|
47
45
|
task :load do
|
48
46
|
@build_for = ENV['BUILD_FOR']
|
49
47
|
@github_token = ENV[github_token_key(@build_for)]
|
@@ -64,28 +62,19 @@ namespace :tachikoma do
|
|
64
62
|
@commiter_name = @configure['commiter_name']
|
65
63
|
@commiter_email = @configure['commiter_email']
|
66
64
|
@github_account = @configure['github_account']
|
67
|
-
@
|
65
|
+
@url = @configure['url']
|
66
|
+
@type = @configure['type']
|
68
67
|
@base_remote_branch = @configure['base_remote_branch']
|
69
|
-
@authorized_url = authorized_url_with_type(@
|
68
|
+
@authorized_url = authorized_url_with_type(@url, @type, @github_token, @github_account)
|
70
69
|
@timestamp_format = @configure['timestamp_format'] || @default_timestamp_format
|
71
70
|
@readable_time = Time.now.utc.strftime(@timestamp_format)
|
72
71
|
|
73
|
-
@
|
74
|
-
@
|
75
|
-
'User-Agent' => "Tachikoma #{@github_account}",
|
76
|
-
'Authorization' => "token #{@github_token}",
|
77
|
-
'Accept' => 'application/json',
|
78
|
-
'Content-type' => 'application/json',
|
79
|
-
}
|
80
|
-
@target_head = target_repository_user(@configure['type'], @fetch_url, @github_account)
|
72
|
+
@target_head = target_repository_user(@type, @url, @github_account)
|
73
|
+
@pull_request_url = repository_identity(@url)
|
81
74
|
@pull_request_body = @configure['pull_request_body']
|
82
75
|
@pull_request_base = @configure['pull_request_base']
|
83
|
-
@
|
84
|
-
|
85
|
-
body: @pull_request_body,
|
86
|
-
head: "#{@target_head}:feature/bundle-#{@readable_time}",
|
87
|
-
base: @pull_request_base,
|
88
|
-
})
|
76
|
+
@pull_request_head = "#{@target_head}:feature/bundle-#{@readable_time}"
|
77
|
+
@pull_request_title = "Bundle update #{@readable_time}"
|
89
78
|
end
|
90
79
|
|
91
80
|
task :clean do
|
@@ -95,13 +84,14 @@ namespace :tachikoma do
|
|
95
84
|
|
96
85
|
desc 'fetch'
|
97
86
|
task fetch: :clean do
|
98
|
-
sh "git clone #{@
|
87
|
+
sh "git clone #{@url} #{Tachikoma.repos_path.to_s}/#{@build_for}"
|
99
88
|
end
|
100
89
|
|
101
90
|
desc 'bundle'
|
102
91
|
task :bundle do
|
103
92
|
Dir.chdir("#{Tachikoma.repos_path.to_s}/#{@build_for}") do
|
104
93
|
Bundler.with_clean_env do
|
94
|
+
sh %Q!sed -i -e 's/^ruby/#ruby/' Gemfile!
|
105
95
|
sh "git config user.name #{@commiter_name}"
|
106
96
|
sh "git config user.email #{@commiter_email}"
|
107
97
|
sh "git checkout -b feature/bundle-#{@readable_time} #{@base_remote_branch}"
|
@@ -116,11 +106,7 @@ namespace :tachikoma do
|
|
116
106
|
|
117
107
|
desc 'pull_request'
|
118
108
|
task :pull_request do
|
119
|
-
|
120
|
-
|
121
|
-
response = HTTParty.post(@target_url, headers: @headers, body: @body)
|
122
|
-
unless response.created?
|
123
|
-
fail "Do not create pull request yet. #{response.code} #{response.message} #{response.body}"
|
124
|
-
end
|
109
|
+
@client = Octokit::Client.new(login: @github_account, oauth_token: @github_token)
|
110
|
+
@client.create_pull_request(@pull_request_url, @pull_request_base, @pull_request_head, @pull_request_title, @pull_request_body)
|
125
111
|
end
|
126
112
|
end
|
data/tachikoma.gemspec
CHANGED
@@ -18,10 +18,9 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency 'httparty'
|
22
|
-
spec.add_dependency 'multi_json'
|
23
21
|
spec.add_dependency 'safe_yaml'
|
24
22
|
spec.add_dependency 'rake'
|
23
|
+
spec.add_dependency 'octokit'
|
25
24
|
|
26
25
|
spec.add_development_dependency "bundler", "~> 1.3"
|
27
26
|
spec.add_development_dependency 'dotenv'
|
metadata
CHANGED
@@ -1,31 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tachikoma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sanemat
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: multi_json
|
14
|
+
name: safe_yaml
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
requirements:
|
31
17
|
- - '>='
|
@@ -39,7 +25,7 @@ dependencies:
|
|
39
25
|
- !ruby/object:Gem::Version
|
40
26
|
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
28
|
+
name: rake
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
31
|
- - '>='
|
@@ -53,7 +39,7 @@ dependencies:
|
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
42
|
+
name: octokit
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - '>='
|