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.)