tachikoma 4.2.4 → 4.2.5
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/CHANGELOG.md +8 -0
- data/README.md +33 -24
- data/data/default.yaml +59 -18
- data/lib/tachikoma/application.rb +22 -3
- data/lib/tachikoma/templates/data/bot-motoko-tachikoma.yaml +0 -6
- data/lib/tachikoma/version.rb +1 -1
- data/tachikoma.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5548941aa82fb6234ddc3ee7fce57d6836a21669
|
|
4
|
+
data.tar.gz: 70d19fe95c900c694794e625444a216c13b30940
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c8f23c4fcfe5a0b9034882040b52849ccbc1d942c580ae30f71e66d11a3833bec798aa11415591d204adeb198b5d0ee4098bee755a091cd28ed19f72221ae114
|
|
7
|
+
data.tar.gz: 6e315375f8162508488f6c3a9bd273b2c531bf88f042a28312802225f27d69a2c47a6e6c62fb001557f1d7d16d2aaba9a66dfa23095ae02059745851d273d288
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -5,12 +5,35 @@
|
|
|
5
5
|
[](https://codeclimate.com/github/sanemat/tachikoma)
|
|
6
6
|
[](https://coveralls.io/r/sanemat/tachikoma)
|
|
7
7
|
|
|
8
|
-
Interval Pull Requester with
|
|
8
|
+
**Tachikoma** is a Interval Pull Requester with
|
|
9
|
+
bundler/carton/david/cocoapods/composer/none update.
|
|
10
|
+
This is [Actual pull request](https://github.com/sanemat/tachikoma/pull/152).
|
|
9
11
|
|
|
10
12
|

|
|
11
13
|

|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
Most aspects of its behavior can be tweaked via various
|
|
16
|
+
[configuration options](data/default.yaml).
|
|
17
|
+
|
|
18
|
+
## Strategies
|
|
19
|
+
|
|
20
|
+
You can use these strategies:
|
|
21
|
+
|
|
22
|
+
- Bundler (Ruby)
|
|
23
|
+
- Carton (Perl)
|
|
24
|
+
- David (Node.js)
|
|
25
|
+
- Cocoapods (Objective-C)
|
|
26
|
+
- Composer (PHP)
|
|
27
|
+
- None (without strategy)
|
|
28
|
+
|
|
29
|
+
If you use carton, then you use `tachikoma:run_carton` instead of `tachikoma:run_bundler`.
|
|
30
|
+
You can also use `tachikoma:run_none`, `tachikoma:run_cocoapods`, `tachikoma:run_composer` and `tachikoma:run_david`.
|
|
31
|
+
|
|
32
|
+
## Setting
|
|
33
|
+
|
|
34
|
+
See [configuration options](data/default.yaml).
|
|
35
|
+
|
|
36
|
+
### Use as rubygem
|
|
14
37
|
|
|
15
38
|
see: https://github.com/sanemat/bot-motoko-tachikoma
|
|
16
39
|
|
|
@@ -22,6 +45,7 @@ $ echo "gem 'tachikoma'" >> Gemfile
|
|
|
22
45
|
$ bundle
|
|
23
46
|
$ bundle exec tachikoma init
|
|
24
47
|
```
|
|
48
|
+
|
|
25
49
|
### Write repository information
|
|
26
50
|
|
|
27
51
|
1. Get GitHub OAuth2 token: See [Creating an OAuth token for command-line use](https://help.github.com/articles/creating-an-oauth-token-for-command-line-use)
|
|
@@ -34,41 +58,23 @@ $ export TOKEN_YOUR_REPOSITORY_NAME_THAT_IS_SAME_TO_YAML_FILENAME=xxxxxxxxxxxxxx
|
|
|
34
58
|
$ bundle exec rake tachikoma:run_bundler
|
|
35
59
|
```
|
|
36
60
|
|
|
37
|
-
###
|
|
38
|
-
|
|
39
|
-
You can use these strategies:
|
|
40
|
-
|
|
41
|
-
- Bundler (Ruby)
|
|
42
|
-
- Carton (Perl)
|
|
43
|
-
- David (Node.js)
|
|
44
|
-
- Cocoapods (Objective-C)
|
|
45
|
-
- Composer (PHP)
|
|
46
|
-
- None (without strategy)
|
|
47
|
-
|
|
48
|
-
If you use carton, then you use `tachikoma:run_carton` instead of `tachikoma:run_bundler`.
|
|
49
|
-
You can also use `tachikoma:run_none`, `tachikoma:run_cocoapods`, `tachikoma:run_composer` and `tachikoma:run_david`.
|
|
61
|
+
### Example
|
|
50
62
|
|
|
51
|
-
### Setting example
|
|
52
63
|
[gist-mail setting (data/gist-mail.yaml)](https://github.com/sanemat/bot-motoko-tachikoma/blob/a47ceb8b88f8b6da8028e5c0b641b8a84c9c3505/data/gist-mail.yaml)
|
|
53
64
|
|
|
54
65
|
```yaml
|
|
55
66
|
url:
|
|
56
67
|
'https://github.com/sanemat/gist-mail.git'
|
|
57
|
-
frequency:
|
|
58
|
-
"every 1.day, :at => '6:30 am'"
|
|
59
68
|
type:
|
|
60
69
|
'fork'
|
|
61
|
-
language:
|
|
62
|
-
'ruby'
|
|
63
|
-
version:
|
|
64
|
-
'2.0.0'
|
|
65
70
|
pull_request_body:
|
|
66
71
|
':ideograph_advantage::ideograph_advantage::ideograph_advantage:'
|
|
67
|
-
git_clone_depth:
|
|
68
|
-
50
|
|
69
72
|
```
|
|
70
73
|
|
|
74
|
+
This is the [result](https://github.com/sanemat/gist-mail/pull/54).
|
|
75
|
+
|
|
71
76
|
### Build script example
|
|
77
|
+
|
|
72
78
|
- [cloudbees.com dev@cloud: Above v4.0.0.beta](https://gist.github.com/sanemat/5859031/aa1966a46a7c00ed975b487f423c36b8ae5b976d)
|
|
73
79
|
|
|
74
80
|
## Versioning
|
|
@@ -123,3 +129,6 @@ by @sanemat
|
|
|
123
129
|
by @willnet (Below v3.1 - Old API) _Japanese_
|
|
124
130
|
- [Jenkins scheduled build Triggers with environment variable | 實松アウトプット](https://sanematsu.wordpress.com/2013/08/17/jenkins-scheduled-build-triggers-with-environment-variable/)
|
|
125
131
|
by @sanemat _Japanese_
|
|
132
|
+
|
|
133
|
+
### Web Service
|
|
134
|
+
- [Tachikoma as a Service](http://tachikoma.io)
|
data/data/default.yaml
CHANGED
|
@@ -1,18 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
# These are default Tachikoma's settings.
|
|
2
|
+
#
|
|
3
|
+
# The name as a committer name on git commit.
|
|
4
|
+
# See:
|
|
5
|
+
# https://github.com/sanemat/do-not-merge-wip-for-github/commit/597425a65b87e22657a69172de182f978eed4d72
|
|
6
|
+
# TODO: commiter is typo, committer is valid, so I'll fix this v5
|
|
7
|
+
commiter_name: 'bot-motoko'
|
|
8
|
+
# The email as a committer email on git commit.
|
|
9
|
+
# See:
|
|
10
|
+
# https://github.com/sanemat/do-not-merge-wip-for-github/commit/597425a65b87e22657a69172de182f978eed4d72
|
|
11
|
+
# TODO: commiter is typo, committer is valid, so I'll fix this v5
|
|
12
|
+
commiter_email: 'bot-motoko@al.sane.jp'
|
|
13
|
+
# The GitHub account for pull request.
|
|
14
|
+
# See:
|
|
15
|
+
# https://github.com/sanemat/do-not-merge-wip-for-github/pull/25
|
|
16
|
+
github_account: 'bot-motoko'
|
|
17
|
+
# The branch is checked out.
|
|
18
|
+
# e.g. $ git checkout -b new_branch [origin/master]
|
|
19
|
+
base_remote_branch: 'origin/master'
|
|
20
|
+
# The timestamp is used identifying branch/pull request
|
|
21
|
+
# with human readable format.
|
|
22
|
+
# See available format:
|
|
23
|
+
# http://docs.ruby-lang.org/en/2.2.0/Time.html#method-i-strftime
|
|
24
|
+
timestamp_format: '%Y%m%d%H%M%S'
|
|
25
|
+
# The pull request body contents.
|
|
26
|
+
# you can use text/html/markdown and any format
|
|
27
|
+
# which GitHub(via Octokit) accepts.
|
|
28
|
+
# See:
|
|
29
|
+
# https://github.com/sanemat/gist-mail/pull/54
|
|
30
|
+
pull_request_body: ':hamster::hamster::hamster:'
|
|
31
|
+
# The base branch which you want to pull request,
|
|
32
|
+
# master is most popular, develop and gh-pages are common.
|
|
33
|
+
pull_request_base: 'master'
|
|
34
|
+
# The type about fork & pull and shared repository
|
|
35
|
+
# See also:
|
|
36
|
+
# https://help.github.com/articles/using-pull-requests/#types-of-collaborative-development-models
|
|
37
|
+
#
|
|
38
|
+
# Supported: 'fork', 'shared'
|
|
39
|
+
type: 'fork'
|
|
40
|
+
# The URL of git repository you want to execute.
|
|
41
|
+
# https is highly recommended.
|
|
42
|
+
url: 'https://example.com/git-url.git'
|
|
43
|
+
# For ruby bundler parallel install option
|
|
44
|
+
# Require Bundler v1.4.0 or higher
|
|
45
|
+
# See also:
|
|
46
|
+
# http://robots.thoughtbot.com/parallel-gem-installing-using-bundler
|
|
47
|
+
#
|
|
48
|
+
# Supported: 1, 2, 3, ...
|
|
49
|
+
bundler_parallel_number: 4
|
|
50
|
+
# Use shallow clone for huge repository, if you want.
|
|
51
|
+
# Require Git v1.9.0 or higher
|
|
52
|
+
# We can push from a shallowly-cloned repository above git v1.9.0
|
|
53
|
+
# https://github.com/git/git/blob/master/Documentation/RelNotes/1.9.0.txt
|
|
54
|
+
# See also:
|
|
55
|
+
# http://blogs.atlassian.com/2014/05/handle-big-repositories-git/
|
|
56
|
+
# e.g. Tachikoma.io's default is 100, Travis-CI's default is 50 :)
|
|
57
|
+
#
|
|
58
|
+
# Supported: false, 1, 2, 3, ...
|
|
59
|
+
git_clone_depth: false
|
|
@@ -80,16 +80,26 @@ module Tachikoma
|
|
|
80
80
|
sh(*['git', 'config', 'user.name', @commiter_name])
|
|
81
81
|
sh(*['git', 'config', 'user.email', @commiter_email])
|
|
82
82
|
sh(*['git', 'checkout', '-b', "tachikoma/update-#{@readable_time}", @base_remote_branch])
|
|
83
|
+
if File.exist?('Gemfile')
|
|
84
|
+
@bundler_key_file = 'Gemfile'
|
|
85
|
+
@bundler_lock_file = 'Gemfile.lock'
|
|
86
|
+
elsif File.exist?('gems.rb')
|
|
87
|
+
@bundler_key_file = 'gems.rb'
|
|
88
|
+
@bundler_lock_file = 'gems.locked'
|
|
89
|
+
else
|
|
90
|
+
@bundler_key_file = 'Gemfile'
|
|
91
|
+
@bundler_lock_file = 'Gemfile.lock'
|
|
92
|
+
end
|
|
83
93
|
sh(*([
|
|
84
94
|
'bundle',
|
|
85
|
-
'--gemfile',
|
|
95
|
+
'--gemfile', @bundler_key_file,
|
|
86
96
|
'--no-deployment',
|
|
87
97
|
'--without', 'nothing',
|
|
88
98
|
'--path', 'vendor/bundle',
|
|
89
99
|
@parallel_option
|
|
90
100
|
].compact))
|
|
91
101
|
sh(*%w(bundle update))
|
|
92
|
-
sh(*['git', 'add',
|
|
102
|
+
sh(*['git', 'add', @bundler_lock_file])
|
|
93
103
|
sh(*['git', 'commit', '-m', "Bundle update #{@readable_time}"]) do
|
|
94
104
|
# ignore exitstatus
|
|
95
105
|
end
|
|
@@ -137,7 +147,15 @@ module Tachikoma
|
|
|
137
147
|
sh(*['git', 'config', 'user.email', @commiter_email])
|
|
138
148
|
sh(*['git', 'checkout', '-b', "tachikoma/update-#{@readable_time}", @base_remote_branch])
|
|
139
149
|
sh(*['david', 'update', '--warn404'])
|
|
140
|
-
|
|
150
|
+
if File.exist?('npm-shrinkwrap.json')
|
|
151
|
+
sh(*['rm', '-rf', 'node_modules/', 'npm-shrinkwrap.json'])
|
|
152
|
+
sh(*['npm', 'install'])
|
|
153
|
+
sh(*['npm', 'shrinkwrap'])
|
|
154
|
+
sh(*['git', 'add', 'package.json'])
|
|
155
|
+
sh(*['git', 'add', 'npm-shrinkwrap.json'])
|
|
156
|
+
else
|
|
157
|
+
sh(*['git', 'add', 'package.json'])
|
|
158
|
+
end
|
|
141
159
|
sh(*['git', 'commit', '-m', "David update #{@readable_time}"]) do
|
|
142
160
|
# ignore exitstatus
|
|
143
161
|
end
|
|
@@ -242,6 +260,7 @@ module Tachikoma
|
|
|
242
260
|
identity
|
|
243
261
|
end
|
|
244
262
|
|
|
263
|
+
# TODO: refactor to returning command args array like git clone depth option
|
|
245
264
|
def bundler_parallel_option(bundler_version, parallel_number)
|
|
246
265
|
return if !bundler_parallel_available?(bundler_version) || parallel_number <= 1
|
|
247
266
|
"--jobs=#{parallel_number}"
|
data/lib/tachikoma/version.rb
CHANGED
data/tachikoma.gemspec
CHANGED
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
spec.add_dependency 'json'
|
|
25
25
|
spec.add_dependency 'thor'
|
|
26
26
|
|
|
27
|
-
spec.add_development_dependency 'bundler', '>= 1.3', '<
|
|
27
|
+
spec.add_development_dependency 'bundler', '>= 1.3', '< 2.0'
|
|
28
28
|
spec.add_development_dependency 'dotenv'
|
|
29
29
|
spec.add_development_dependency 'rspec', '>= 3.0.0'
|
|
30
30
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tachikoma
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.2.
|
|
4
|
+
version: 4.2.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- sanemat
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-05-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: safe_yaml
|
|
@@ -95,7 +95,7 @@ dependencies:
|
|
|
95
95
|
version: '1.3'
|
|
96
96
|
- - "<"
|
|
97
97
|
- !ruby/object:Gem::Version
|
|
98
|
-
version: '
|
|
98
|
+
version: '2.0'
|
|
99
99
|
type: :development
|
|
100
100
|
prerelease: false
|
|
101
101
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -105,7 +105,7 @@ dependencies:
|
|
|
105
105
|
version: '1.3'
|
|
106
106
|
- - "<"
|
|
107
107
|
- !ruby/object:Gem::Version
|
|
108
|
-
version: '
|
|
108
|
+
version: '2.0'
|
|
109
109
|
- !ruby/object:Gem::Dependency
|
|
110
110
|
name: dotenv
|
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|