bundle update
PRs: Automated. Annotated.
Keeping dependencies up-to-date requires regular work. Some teams automate this, others do it manually. This project seeks to reduce manual and cerebral labor to get regular dependency updates into production.
Features
- Saves your team time in keeping dependencies up-to-date and understanding what's changed
-
unwrappr
runsbundle update
, creates a GitHub Pull Request with the changes and annotates the differences in your project'sGemfile.lock
- Annotations include:
- Major, minor and patch-level changes
- Upgrades versus downgrades
- Vulnerability advisory information using bundler-audit
- Links to the home page, source code and change log (where available) of each gem
unwrappr
is used in many projects around Envato
However, it is still undergoing development and features are likely to change
over time.
After checking out the repo, run bin/setup
to install dependencies. Then, run
rake spec
to run the tests. You can also run bin/console
for an interactive
prompt that will allow you to experiment.
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.
$ gem install unwrappr
Configuration
unwrappr
needs a GitHub Personal Access
Token, stored in the environment as
GITHUB_TOKEN
. If you have your Personal Access Token stored in the macOS
keychain, you can pull this into your shell environment using the security
tool. E.g:
export GITHUB_TOKEN=$(security find-internet-password -gs github.com 2>&1 | awk -F' ' '$1 == "password:" { print $2 }' | tr -d '"')
To run unwrappr
in the current working directory use...
export GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
unwrappr
To run unwrappr
against repositories as a part of a time-based job
scheduler, use the clone
subcommand and specify as many --repo
options as
you need:
export GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
unwrappr clone --repo envato/abc [[--repo envato/xyz] ...]
See https://github.com/settings/tokens to set up personal access tokens.
Requirements
- Ruby (tested against v2.5 and above)
- GitHub access (see Configuration section)
Contact
- GitHub project
- Bug reports and feature requests are welcome via GitHub Issues
Maintainers
Authors
unwrappr
uses MIT license. See
LICENSE.txt
for
details.
Code of Conduct
We welcome contribution from everyone. Read more about it in
CODE_OF_CONDUCT.md
For bug fixes, documentation changes, and features:
- 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 a new Pull Request
For larger new features: Do everything as above, but first also make contact with the project maintainers to be sure your change fits with the project direction and you won't be wasting effort going in the wrong direction.
This project is maintained by the Envato engineering team and funded by Envato.
Encouraging the use and creation of open source software is one of the ways we serve our community. See our other projects or come work with us where you'll find an incredibly diverse, intelligent and capable group of people who help make our company succeed and make our workplace fun, friendly and happy.