Here’s how Depfu works
Depfu is like a colleague who sends you pull requests with all the info you need about a gem update. You stay in control if and when to merge.
Enable the Depfu Github App on your public or private repo. It's done in less than a minute.
We currently support all Ruby projects using Bundler. More languages coming soon!
You need to have your CI integrated via the Github Status API to get the most out of Depfu.
Simply connect your Github repo with Depfu. That’s it.
- Depfu connects to Github via their API. With the new Github Apps you have fine-grained control which of your repos you want Depfu to see and keep up-to-date.
- You don’t need to add any files to your repo or change any Github settings manually.
- All interaction with your repo happens via the GitHub API. We never clone your repo, not even temporarily.
We keep track of new versions so you don’t have to
Once we have parsed your Gemfile and Gemfile.lock we know exactly which gems and versions you depend on. We connect to rubygems.org to listen for new releases. For every new version of a gem that you depend on we create a branch. In the branch we change your Gemfile and/or Gemfile.lock to pull in the new version. We rely on your CI to trigger a test run for the branch (or pull request) we created.
Automatically integrates with your CI service
Knowing if your tests pass with a new version of a dependency is half the battle. To integrate with your CI, Depfu is using the Github Status API which is supported by pretty much all CI services from Travis-CI to your own Jenkins instance. That means we don’t actually run any of your tests ourselves, but we rely on your CI to test branches and pull requests and report the results back to Github.
All the info you need to make an informed decision about a dependency update
Get notifed about the new version right in your code, with a Github Pull Request. No emails and no need for you to check a website repeatedly.
What changed? We gather everything we can find about the new version, from Github release notes, the project's changelog to all commits for that version. So you don’t need to hunt that down yourself over and over again.
You know right away if your code works with the new version or not, since the PR triggers a test run. If it doesn’t the pull request is a good place to start working on fixing the issues.
Take a look at the example repo to see our pull requests in action.
You stay in control
In the ideal case all you need to do now is to click that merge button. It’s up to you assess the risk using the details from the pull request. Only you know your code base and your test coverage and can decide how risky that upgrade is. So you decide if and when to merge.
Let Depfu take all the boring work of keeping your dependencies up to date off your shoulders and, optimally, boil it all down to a few clicks. This is as close to fully automatic as we could possibly make it.
Your code is safe with us
Uncomfortable giving us access to your code? Don’t worry, we get it. Our mission is to help you keep your dependencies up to date, nothing more. We understand the security of your company’s source code is extremely important and we’ve built Depfu with that in mind. Read our security documentation about what kind of access we need and why.
If this is a blocker for you please contact us, we’re working on several alternative strategies that require less permissions on Github.
All plans start with a 21-day free trial.
No credit card required.