tachikoma 3.0.1 → 3.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 +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
|
- - '>='
|