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.Arguments
in 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 CampaignJob
s that send requests to replacer service to get back a diff for the specifiedmatchTemplate
andrewriteTemplate
-
Support Wait
argument to make this mutation synchronous/asynchronous
-
-
Implement returning ChangesetPlans
for a running/finishedCampaignPlan
https://github.com/sourcegraph/sourcegraph/pull/6430-
Implement campaignPlanResolver.Changesets
-
Implement campaignPlanResolver.RepositoryDiffs
-
-
Implement diffs for existing changesets -
Implement campaignResolver.RepositoryDiffs
https://github.com/sourcegraph/sourcegraph/pull/6270 -
Implement changesetResolver.Diff
https://github.com/sourcegraph/sourcegraph/issues/6164
-
-
Clean up CampaignPlans
that have not been attached to a campaign inTTL
https://github.com/sourcegraph/sourcegraph/pull/6513 -
Implement campaignPlanResolver.BackgroundProcessStatus
-
Implement createCampaign
forCampaign
s withCampaignPlan
https://github.com/sourcegraph/sourcegraph/issues/6403 @tsenart -
Add CreatePullRequest
method togithub.Client
and use it increateCampaign
-
Add CreatePullRequest
methods tobitbucketserver.Client
and use it increateCampaign
https://github.com/sourcegraph/sourcegraph/pull/6573 & https://github.com/sourcegraph/sourcegraph/pull/6575 -
Return an error in addChangesetsToCampaign
ifCampaign
has aCampaignPlan
-
Implement retryCampaign
that retries the subprocesses ofcreateCampaign
-
Make ChangesetJob
execution idempotent: check that new commits are not added to same branch, check forErrAlreadyExists
response from code hosts
-
-
Implement cancelCampaignPlan
so that all jobs are cancelled -
Set an upper time limit on CampaignJob
execution -
Create changesets for a repositories default branch (right now we open the PR for master
, see here) -
Add metrics/tracing to previewCampaignPlan
andcreateCampaign
Frontend
-
Add snapshot tests -
Render campaign description as markdown (in client) @eseliger -
Add dropdown and Monaco editor to CampaignDetails
form for theCampaignPlanSpecification
-
Add "Preview" button that triggers a preview, show the planned changesets -
ChangesetList
made 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 ChangesetEvents
for Bitbucket Server (requires fetching/activities
for 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 ChangesetEvents
into 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
-