Skip to content

Improve the debugging experience when running campaigns with src-cli

Created by: mrnugget

I think this is really important. The problem it solves is that it’s often hard to get all steps to execute successfully in all repositories — due to a lack of easy conditions we can add and lack of debug tools.

Ideas I had:

  • add ability to group steps for repositories (i.e. run “yarn update” in these 15 repos, run “npm update” in those 15 repos)
  • cache single step results and invalidate the cache step-wise
  • re-run only failed steps (there are multiple ways to do this)
  • run certain steps only for subset of repositories (i.e. add an repositories:\n - github.com/sourcegraph/* to the step definition)
  • add a -break-on-failure (or something like that) to src-cli that stops when a step fails in a repository and allows me to cd into it and inspect it. And it also provides me with a docker run command I can run to hop into the container that failed.
  • what I want as a user is better tools to investigate why a single step failed in a repository.
  • better error logging if needed (see all stderr/stdout of the container, no truncated output, no “and 5 more failed”, etc.)