SSBC-EM2.1: Malo can use SSBC in a demo
View options
- Truncate descriptions
Created by: mrnugget
Experimental scope:
As a customer, I want to run a large batch changes, that I can parallelize on several executors so that they run faster. I'm fine with debugging with the CLI first. All I want to do is paste a spec, run it across executors, be able to see the logs per repo/step, then go to preview/apply. I also want to be able to edit the spec and re-run it to correct mistakes.
Items:
-
One executor job per workspace (repository+path+commit)
- src-cli able to execute a batch spec in a given workspace (not doing resolving of workspaces at all) https://github.com/sourcegraph/src-cli/pull/608 @mrnugget
-
Add the necessary workers in the backend to resolve a batch spec into workspaces and execute those https://github.com/sourcegraph/sourcegraph/pull/24749 @mrnugget
-
Create
batch_spec_resolution_jobs
-
Create
batch_spec_workspaces
-
Execute
batch_spec_workspace_execution_job
, one per executor-
batch_spec_workspace_execution_job
are executor-jobs etc. -
Each workspace-execution-job, if successful, creates a
changeset_spec
(from the JSON log line ofsrc-cli
) with correctbatch_spec_id
and storeschangeset_spec.id
onbatch_spec_workspace_execution_job.changeset_spec_id
-
-
Create
- Follow-up: https://github.com/sourcegraph/sourcegraph/pull/24886 @mrnugget
- Follow-up: https://github.com/sourcegraph/sourcegraph/pull/24965 @mrnugget
- https://github.com/sourcegraph/sourcegraph/pull/24985 @mrnugget
-
Remove old code
batch_spec_executions
@mrnugget -
Cancellation of
batch_spec_workspace_execution_jobs
https://github.com/sourcegraph/sourcegraph/pull/24893 @mrnugget -
Build and switch frontend UI to use new API @eseliger
- API schema and stub resolvers for SSBC @eseliger https://github.com/sourcegraph/sourcegraph/pull/24966
-
Implement
createBatchSpecFromRaw
/replaceBatchSpecInput
/executeBatchSpec
mutations @mrnugget - Implement workspace resolvers
-
Fix the TODOs left in https://github.com/sourcegraph/sourcegraph/pull/25182/files -
Implement rest of mutations... - Move parsing of log lines to backend
-
UI: build workflow to create, preview, and then run a batch spec
-
Clean up non-executed workspaces, resolution_jobs. Update: We don't need to do this, since we want to keep batch specs around for now and use
replaceBatchSpecInput
to not amass a large number of specs. - Switch dogfood executor to new queue @eseliger
-
result from new graphql api: implement
validatechangesetspecs
https://github.com/sourcegraph/sourcegraph/pull/25547 @mrnugget - Implement "importingChangesets" to restore functionality. First version: in request, when creating batch spec, simply create imported changesets. @mrnugget https://github.com/sourcegraph/sourcegraph/pull/25397
-
Ensure that only one
batch_spec_resolution_job
exists for the batch spec at a given time @mrnugget - https://github.com/sourcegraph/sourcegraph/issues/25943 @mrnugget
-
Alpha customer deployment of
executor
@eseliger-
Improve deployment of executor
- Build AMI in CI for executor https://github.com/sourcegraph/sourcegraph/pull/23364
- Implement AWS support @eseliger
-
Deploy new executor from CI - Generalize code-intel terraform stuff in infra repo https://github.com/sourcegraph/infrastructure/pull/2704
-
Documentation for customers on how to deploy
executor
@eseliger-
Bare metal - Google Cloud
- AWS
- Docker registry mirror
-
-
Publish and generalize terraform files for
executor
on Google Cloud- Same for metrics scraping into Prometheus
-
Publish and generalize terraform files for
executor
on AWS- Same for metrics scraping into Prometheus
-
Improve deployment of executor
- Get rid of technical debt in authentication tokens before shipping https://github.com/sourcegraph/sourcegraph/pull/25638 @mrnugget