arcade-services icon indicating copy to clipboard operation
arcade-services copied to clipboard

Consider adding a way to identify live dependencies on a package

Open mmitche opened this issue 1 year ago • 0 comments

Context

In some case when a repo changes around its packages (e.g. removing one, moving one to another repo, etc.) it would be really valuable to be able to identify all active subscriptions where a package flows to. Something like:

  • Given all subscriptions (with standard filter)
  • Find all subscriptions where a change to package X would cause a change in the subscription's target branch.
  • List all subscriptions

Subscriptions can (I think) be dumped in json form, allowing for filtering of outputs (e.g. if you only need to know the target repo and branch).

Goal

Create a darc command that scours the dependent repositories and filters them on which one has the package in its Version.Details.xml. Intended use can be this (command name is up for debate):

  • darc get-package-consumers --name Package.Foo --repo dotnet/arcade --branch main
  • We will retrieve the default channel of dotnet/arcade / main
  • Find all subscriptions to that channel from that repo
  • Scour the V.D.xml of every target repo for these subscriptions and list which repos have this package in there

mmitche avatar Jun 14 '24 21:06 mmitche