Automation Tracking Issue 3.10
Created by: mrnugget
RFC 42: Find and replace code across multiple repositories using Comby
Frontend & Backend
-
GraphQL API @felixfbecker (https://github.com/sourcegraph/sourcegraph/pull/6135/files)
Backend
-
Implement skeleton GraphQL layer & CRUD operations https://github.com/sourcegraph/sourcegraph/pull/6121 -
Persist/marshal/unmarshal CampaignPlan.Argumentsin a way that keeps JSONC https://github.com/sourcegraph/sourcegraph/pull/6263 -
Implement previewCampaignPlan#6265-
Search for repositories with the specified searchScope -
Create and nun CampaignJobs that send requests to replacer service to get back a diff for the specifiedmatchTemplateandrewriteTemplate -
Support Waitargument to make this mutation synchronous/asynchronous
-
-
Implement returning ChangesetPlansfor a running/finishedCampaignPlanhttps://github.com/sourcegraph/sourcegraph/pull/6430-
Implement campaignPlanResolver.Changesets -
Implement campaignPlanResolver.RepositoryDiffs
-
-
Implement diffs for existing changesets -
Implement campaignResolver.RepositoryDiffshttps://github.com/sourcegraph/sourcegraph/pull/6270 -
Implement changesetResolver.Diffhttps://github.com/sourcegraph/sourcegraph/issues/6164
-
-
Clean up CampaignPlansthat have not been attached to a campaign inTTLhttps://github.com/sourcegraph/sourcegraph/pull/6513 -
Implement campaignPlanResolver.BackgroundProcessStatus -
Implement createCampaignforCampaigns withCampaignPlanhttps://github.com/sourcegraph/sourcegraph/issues/6403 @tsenart -
Add CreatePullRequestmethod togithub.Clientand use it increateCampaign -
Add CreatePullRequestmethods tobitbucketserver.Clientand use it increateCampaignhttps://github.com/sourcegraph/sourcegraph/pull/6573 & https://github.com/sourcegraph/sourcegraph/pull/6575 -
Return an error in addChangesetsToCampaignifCampaignhas aCampaignPlan -
Implement retryCampaignthat retries the subprocesses ofcreateCampaign-
Make ChangesetJobexecution idempotent: check that new commits are not added to same branch, check forErrAlreadyExistsresponse from code hosts
-
-
Implement cancelCampaignPlanso that all jobs are cancelled -
Set an upper time limit on CampaignJobexecution -
Create changesets for a repositories default branch (right now we open the PR for master, see here) -
Add metrics/tracing to previewCampaignPlanandcreateCampaign
Frontend
-
Add snapshot tests -
Render campaign description as markdown (in client) @eseliger -
Add dropdown and Monaco editor to CampaignDetailsform for theCampaignPlanSpecification -
Add "Preview" button that triggers a preview, show the planned changesets -
ChangesetListmade to work forExternalChangeset | ChangesetPreview
-
-
Cancel the previous preview with switchMap -
Show preview progress with a loading spinner -
Show errors -
Add diff preview using diff components as a tab next to "Changesets"
Internal User Testing
-
Test the user flow with a colleague at Sourcegraph
Leftover from 3.9
-
Only "update" a changeset when it actually changed. -
Support Bitbucket Server changeset events -
Add ChangesetEventsfor Bitbucket Server (requires fetching/activitiesfor Bitbucket Server changesets) @tsenart -
Update CHANGELOG to mention additional requests done by repo-updater to sync A8N data and to warn about its current limits of scalability / potential impact on code host when used beyond a certain scale. -
Incorporate Bitbucket Server ChangesetEventsinto burndown chart API
-
-
Bitbucket Server webhooks (RFC) -
Making "adding changesets" work if changesets have been created before. See comment and this issue
Stretch-Goals
-
Rename campaign.{name,description}tocampaign.{title,body} -
Shows status of all changesets in the campaign and allow querying/filtering by the following fields -
Show "open/merged/closed" -
Show "review status" -
Show "commit statuses" -
Show "labels" -
Filtering fields via GraphQL API -
Filter by "open/merged/closed" -
Filter by "commit statuses" -
Filter by "review status" -
Filter by "labels"
-
-
-
Show the combined event timeline from all changesets -
GraphQL schema -
Show comments -
Show approvals
-
-
Show the set of participants involved in the campaign -
GraphQL schema
-