campaigns: support applyCampaigns#260
Conversation
5ab9c6c to
e9a8ad2
Compare
This gives us some basic primitives to output structured, human readable information from commands. This is currently intended only for the campaigns work taking place in #260, but also gives us options for additional functionality elsewhere, such as internal/api. This is somewhat duplicative with things that we currently have in cmd/src and internal/campaigns; I intend to gradually clean those up as time permits.
8f2eaa5 to
9ac65fb
Compare
mrnugget
left a comment
There was a problem hiding this comment.
👏 This is really well architected, thank you! Good eye for how to slice up and refactor existing code 🙂
I bet output was fun to write 😄
One request for this iteration: I'd appreciate some documentation (in sourcegraph/sourcegraph I think) that describes the semantics behind campaigns apply: how the list of repositories is generated, how the shell command is run in the container, etc.
|
Created a ticket for something I noticed while trying out this branch: https://github.com/sourcegraph/sourcegraph/issues/13172 I don't think it needs to be a part of this PR but we (and also not necessarily you, Adam) need to tackle this in this iteration. |
|
Before merging: run |
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Except that implies a certain level of skill and expertise that isn't evident here, so this is more word-banging-on-hot-metal-and-trying-not-to-set-the-workshop-on-fire.
eseliger
left a comment
There was a problem hiding this comment.
Great work all the way through :) I really appreciate the service layer, the simplicity to understand the run logic and the output package 👍
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
This PR implements the new campaign spec workflow, most notably
src campaigns apply. Therefore, it will close sourcegraph/sourcegraph#12333, close sourcegraph/sourcegraph#11350, and close #259.Note that this PR includes #268, but that should be reviewed separately.
Here's a GIF: