Dependencies.io is a product of Dropseed
  • Python
  • Javascript
  • PHP
  • Git
  • Docker
  • Ruby coming soon
  • Java coming soon
  • Go coming soon
  • Rust coming soon
  • iOS coming soon
  • Android coming soon
  • .NET coming soon

git-repos

A dependencies.io component that can update strings in files based on git repo tags. Useful for dependencies which don't use a package manager, but are located on GitHub (or another public git repository).

Usage

version: 2
dependencies:
- type: git-repos
  path: git_repos.yml

Then list the git repos you depend on, and any additional files where you want to replace text based on the available versions (tags) of the repository.

# git_repos.yml
repos:
- url: https://github.com/kubernetes/minikube.git
  installed: v0.17.0

- url: https://github.com/kubernetes/kubernetes.git
  installed: v1.6.4
  replace_in_files:
    code.py: '{name}=={version}'
    docs/hosting.md: https://example.com/kubernetes/v/{version_clean}.json

If there are multiple kinds of tags published in the repository and they use a consistent string to prefix the one that you want, you can filter the tags and strip the prefix by using the tag_prefix setting.

# git_repos.yml
repos:
- url: https://github.com/getsentry/sentry-javascript.git
  installed: 3.24.0
  tag_prefix: raven-js@

There are also additional settings available for further customizing how updates are made.

Resources

  • https://git-scm.com/docs/git-ls-remote.html

Support

Any questions or issues with this specific actor should be discussed in GitHub issues. If there is private information which needs to be shared then you can instead use the private support channels in dependencies.io.