Tachikoma
Tachikoma is a Interval Pull Requester with bundler/carton/david/yarn/npm-check-updates/cocoapods/carthage/composer/none update. This is Actual pull request.
Most aspects of its behavior can be tweaked via various configuration options.
Strategies
You can use these strategies:
- Bundler (Ruby)
- Carton (Perl)
- David (Node.js)
- Yarn (Node.js)
- npm-check-updates (Node.js)
- CocoaPods (Objective-C, Swift)
- Carthage (Swift)
- Composer (PHP)
- None (without strategy)
If you use carton, then you use tachikoma:run_carton
instead of tachikoma:run_bundler
.
You can also use tachikoma:run_none
, tachikoma:run_cocoapods
, tachikoma:run_composer
and tachikoma:run_david
.
Setting
Use as rubygem
see: https://github.com/sanemat/bot-motoko-tachikoma
$ mkdir -p my-tachikoma
$ cd my-tachikoma
$ bundle init
$ echo "gem 'tachikoma'" >> Gemfile
$ bundle
$ bundle exec tachikoma init
Write repository information
- Get GitHub OAuth2 token: See Creating an OAuth token for command-line use
- Add YAML of repository you want to build by Tachikoma: Copy
data/bot-motoko-tachikoma.yaml
then editurl
andtype
. to clone URL of your repository. Changetype
toshared
, if you use shared repository model. - Run below command in your shell:
$ export BUILD_FOR=<your-repository-name-that-is-same-to-yaml-filename>
$ export TOKEN_YOUR_REPOSITORY_NAME_THAT_IS_SAME_TO_YAML_FILENAME=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$ bundle exec rake tachikoma:run_bundler
Example
gist-mail setting (data/gist-mail.yaml)
url:
'https://github.com/sanemat/gist-mail.git'
type:
'fork'
pull_request_body:
':ideograph_advantage::ideograph_advantage::ideograph_advantage:'
This is the result.
Build script example
Versioning
Tachikoma will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered with the following format:
<major>.<minor>.<patch>
And constructed with the following guidelines:
- Breaking backward compatibility bumps the major (and resets the minor and patch)
- New additions without breaking backward compatibility bumps the minor (and resets the patch)
- Bug fixes and misc changes bumps the patch
For more information on SemVer, please visit http://semver.org.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Resources
Concept
- Continuous gem dependency updating with Jenkins and Pull Request at Rubykaigi2013 Talk by @kyanny movie Japanese slide English/Japanese
Screencast
Talk
- Updating Library Dependencies Off and On with Tachikoma at YAPC::Asia Tokyo 2013 Lightning Talk by @sanemat slide Japanese video Japanese
- Updating Library Dependencies Off and On with Tachikoma at RubyConf 2013 Lightning Talk by @sanemat slide English video English
Article
- tachikoma を使って毎日自動で bundle update - willnet.in by @willnet (Below v3.1 - Old API) Japanese
- Jenkins scheduled build Triggers with environment variable | 實松アウトプット by @sanemat Japanese