KeepUp

Automatically update your dependencies.

Installation

KeepUp is not intended to be part of your application's bundle. You should install it yourself as:

$ gem install keep_up

Basic Usage

KeepUp only works with git at the moment!

Before running KeepUp, it's probably nice to start a new branch. Also, KeepUp will refuse to run if your checkout directory is not clean, or if your Gemfile.lock is not up-to-date.

Run keep_up in your project directory:

$ keep_up

KeepUp will proceed to update your dependencies one by one, committing each change if updating the bundle is succesful.

Next, run bundle install and run your tests or whatever. Since KeepUp generates a separate commit for each succesful update, you can use git bisect to find any updates that cause problems and remove or fix them.

Options

  • You can pass --skip <GEMNAME> to make KeepUp not consider the named gem for upgrades. This is helpful if you know a given upgrade is problematic. This option can be passed multiple times.
  • You can pass --local to make KeepUp not try to fetch remote gem version information.

Planned Features

  • Allow some check for each change. My feeling at the moment is that for local, supervised use it's best to test everything at once at the end and then go back and fix things. However, for automation it may be helpful to fully check each commit.
  • Automatically set up a new branch so you don't have to.
  • Create a pull request with the created commits.
  • Re-try with combinations of updates if single updates don't work: Sometimes two or more dependencies need to be updated together due to their interdependencies.

Development

After checking out the repo, run script/setup to install dependencies. Then, run rake spec to run the tests. You can also run script/console for an interactive prompt that will allow you to experiment.

You can run keep_up from the checked-out repo by running ruby -Ilib bin/keep_up.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome at keep_up's repository on GitHub. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.