tachikoma 4.2.4 → 4.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 522b54b9884e1e63e68b6cf5f79fe0ce762357fc
4
- data.tar.gz: 9aab06a2596c184e427f442771dc242c4e18fcf9
3
+ metadata.gz: 5548941aa82fb6234ddc3ee7fce57d6836a21669
4
+ data.tar.gz: 70d19fe95c900c694794e625444a216c13b30940
5
5
  SHA512:
6
- metadata.gz: a92aa07095cc333cdc6f9d695b7c511e5a391bd11f14f27c0fa0f094a85b6acd6e7ef8c0394c6d1b733b41ce523e934f74713f0aea1fece5cf66c1c8dc5bbf73
7
- data.tar.gz: 3134b45bfec31b93daa0aab3df1edba8e76bcdab4ca3079b7ad4c0c3c6981f667252887f9f84ae189edcf0ea0b6120afba96fed8f0eda40692f1ec1354a32b5c
6
+ metadata.gz: c8f23c4fcfe5a0b9034882040b52849ccbc1d942c580ae30f71e66d11a3833bec798aa11415591d204adeb198b5d0ee4098bee755a091cd28ed19f72221ae114
7
+ data.tar.gz: 6e315375f8162508488f6c3a9bd273b2c531bf88f042a28312802225f27d69a2c47a6e6c62fb001557f1d7d16d2aaba9a66dfa23095ae02059745851d273d288
@@ -1,3 +1,11 @@
1
+ ## master
2
+
3
+ ## 4.2.5 (2015-05-07)
4
+
5
+ Features:
6
+ - Support gems.rb/gems.locked pair for bundler v1.8.0 (#159, #161, @sanemat)
7
+ - Support npm shrinkwrap (#176, @sanemat)
8
+
1
9
  ## 4.2.4 (2015-01-31)
2
10
 
3
11
  Features:
data/README.md CHANGED
@@ -5,12 +5,35 @@
5
5
  [![Code Climate](http://img.shields.io/codeclimate/github/sanemat/tachikoma.svg?style=flat)](https://codeclimate.com/github/sanemat/tachikoma)
6
6
  [![Coverage Status](http://img.shields.io/coveralls/sanemat/tachikoma/master.svg?style=flat)](https://coveralls.io/r/sanemat/tachikoma)
7
7
 
8
- Interval Pull Requester with bundler/carton/david/cocoapods/composer/none update. [Actual pull request](https://github.com/mrtaddy/fenix-knight/pull/25)
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
  ![tachikoma](https://cloud.githubusercontent.com/assets/75448/4431995/1f7817e4-4681-11e4-8235-64df5c562496.gif 'tachikoma')
11
13
  ![tachikoma](https://cloud.githubusercontent.com/assets/75448/4431997/26649596-4681-11e4-8d9e-a456f570acd1.gif 'tachikoma')
12
14
 
13
- ## Usage as gem
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
- ### Strategies
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)
@@ -1,18 +1,59 @@
1
- commiter_name:
2
- 'bot-motoko'
3
- commiter_email:
4
- 'bot-motoko@al.sane.jp'
5
- github_account:
6
- 'bot-motoko'
7
- base_remote_branch:
8
- 'origin/master'
9
- timestamp_format:
10
- '%Y%m%d%H%M%S'
11
- pull_request_body:
12
- ':hamster::hamster::hamster:'
13
- pull_request_base:
14
- 'master'
15
- bundler_parallel_number:
16
- 4
17
- git_clone_depth:
18
- false
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', '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', 'Gemfile.lock'])
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
- sh(*['git', 'add', 'package.json'])
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}"
@@ -1,12 +1,6 @@
1
1
  url:
2
2
  'https://github.com/sanemat/bot-motoko-tachikoma.git'
3
- frequency:
4
- "every 1.day, :at => '6:30 am'"
5
3
  type:
6
4
  'fork'
7
- language:
8
- 'ruby'
9
- version:
10
- '2.0.0'
11
5
  git_clone_depth:
12
6
  50
@@ -1,4 +1,4 @@
1
1
  # Version of tachikoma
2
2
  module Tachikoma
3
- VERSION = '4.2.4'
3
+ VERSION = '4.2.5'
4
4
  end
@@ -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', '< 1.8'
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
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-01-30 00:00:00.000000000 Z
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: '1.8'
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: '1.8'
108
+ version: '2.0'
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: dotenv
111
111
  requirement: !ruby/object:Gem::Requirement