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