Pipeline types reference
This is a reference outlining what CI pipelines we generate under different conditions.
To preview the pipeline for your branch, use sg ci preview
.
For a higher-level overview, please refer to the continuous integration docs.
Run types
Pull request
The default run type.
-
Pipeline for
Go
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
-
Pipeline for
Client
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
- Client checks: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit and integration tests for the Cody VS Code extension, E2E tests for the Cody VS Code extension, Stylelint (all)
- Pipeline setup: Trigger async
-
Pipeline for
GraphQL
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Client checks: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit and integration tests for the Cody VS Code extension, E2E tests for the Cody VS Code extension, Stylelint (all)
-
Pipeline for
DatabaseSchema
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
-
Pipeline for
Docs
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
-
Pipeline for
Dockerfiles
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
-
Pipeline for
ExecutorVMImage
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
-
Pipeline for
ExecutorDockerRegistryMirror
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
-
Pipeline for
CIScripts
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
-
Pipeline for
Terraform
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
-
Pipeline for
SVG
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
-
Pipeline for
Shell
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
-
Pipeline for
DockerImages
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
-
Pipeline for
WolfiPackages
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
-
Pipeline for
WolfiBaseImages
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
-
Pipeline for
Protobuf
changes:- Metadata: Pipeline metadata
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
Wolfi Exp Branch
The run type for branches matching wolfi/
.You can create a build of this run type for your changes using:
sg ci build wolfi
Base pipeline (more steps might be included based on branch changes):
- Metadata: Pipeline metadata
- Wolfi image builds: Build Wolfi-based batcheshelper, Build Wolfi-based blobstore, Build Wolfi-based bundled-executor, Build Wolfi-based cadvisor, Build Wolfi-based embeddings, Build Wolfi-based executor, Build Wolfi-based executor-kubernetes, Build Wolfi-based frontend, Build Wolfi-based github-proxy, Build Wolfi-based gitserver, Build Wolfi-based indexed-searcher, Build Wolfi-based jaeger-agent, Build Wolfi-based jaeger-all-in-one, Build Wolfi-based cody-gateway, Build Wolfi-based loadtest, Build Wolfi-based migrator, Build Wolfi-based node-exporter, Build Wolfi-based opentelemetry-collector, Build Wolfi-based postgres_exporter, Build Wolfi-based precise-code-intel-worker, Build Wolfi-based prometheus, Build Wolfi-based prometheus-gcp, Build Wolfi-based redis-cache, Build Wolfi-based redis-store, Build Wolfi-based redis_exporter, Build Wolfi-based repo-updater, Build Wolfi-based search-indexer, Build Wolfi-based searcher, Build Wolfi-based server, Build Wolfi-based sg, Build Wolfi-based symbols, Build Wolfi-based syntax-highlighter, Build Wolfi-based worker
Release branch nightly healthcheck build
The run type for environment including {"RELEASE_NIGHTLY":"true"}
.
Base pipeline (more steps might be included based on branch changes):
- Metadata: Pipeline metadata
- Trigger 5.0 release branch healthcheck build
- Trigger 4.5 release branch healthcheck build
Browser extension nightly release build
The run type for environment including {"BEXT_NIGHTLY":"true"}
.
Base pipeline (more steps might be included based on branch changes):
- Test (client/browser)
- Puppeteer tests for chrome extension
- Test (all)
- E2E for chrome extension
VS Code extension nightly release build
The run type for environment including {"VSCE_NIGHTLY":"true"}
.
Base pipeline (more steps might be included based on branch changes):
- Tests for VS Code extension
Cody VS Code extension nightly release build
The run type for environment including {"CODY_NIGHTLY":"true"}
.
Base pipeline (more steps might be included based on branch changes):
- Unit and integration tests for the Cody VS Code extension
- E2E tests for the Cody VS Code extension
- Cody release
App release build
The run type for branches matching app/release
(exact match).
Base pipeline (more steps might be included based on branch changes):
- App release
App insiders build
The run type for branches matching app/insiders
(exact match).
Base pipeline (more steps might be included based on branch changes):
- App release
Tagged release
The run type for tags starting with v
.
Base pipeline (more steps might be included based on branch changes):
- Metadata: Pipeline metadata
- Pipeline setup: Trigger async
- Image builds: Build Docker images, Build executor image, Build executor binary, Build docker registry mirror image
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
- Client checks: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit and integration tests for the Cody VS Code extension, E2E tests for the Cody VS Code extension, Stylelint (all)
- Publish candidate images: Push candidate Images
- End-to-end tests: Executors E2E
- Publish images: dind, executor-vm, alpine-3.14, codeinsights-db, codeintel-db, postgres-12-alpine, prometheus-gcp, Publish executor image, Publish executor binary, Publish docker registry mirror image, Push final images
Release branch
The run type for branches matching ^[0-9]+\.[0-9]+$
(regexp match).
Base pipeline (more steps might be included based on branch changes):
- Metadata: Pipeline metadata
- Pipeline setup: Trigger async
- Image builds: Build Docker images, Build executor image, Build executor binary, Build docker registry mirror image
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
- Client checks: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit and integration tests for the Cody VS Code extension, E2E tests for the Cody VS Code extension, Stylelint (all)
- Publish candidate images: Push candidate Images
- End-to-end tests: Executors E2E
- Publish images: dind, executor-vm, alpine-3.14, codeinsights-db, codeintel-db, postgres-12-alpine, prometheus-gcp, Push final images
Browser extension release build
The run type for branches matching bext/release
(exact match).
Base pipeline (more steps might be included based on branch changes):
- Test (client/browser)
- Puppeteer tests for chrome extension
- Test (all)
- E2E for chrome extension
- Extension release
- Extension release
- npm Release
VS Code extension release build
The run type for branches matching vsce/release
(exact match).
Base pipeline (more steps might be included based on branch changes):
- Tests for VS Code extension
- Extension release
Cody VS Code extension release build
The run type for branches matching cody/release
(exact match).
Base pipeline (more steps might be included based on branch changes):
- Unit and integration tests for the Cody VS Code extension
- E2E tests for the Cody VS Code extension
- Cody release
Main branch
The run type for branches matching main
(exact match).
Base pipeline (more steps might be included based on branch changes):
- Metadata: Pipeline metadata
- Pipeline setup: Trigger async
- Image builds: Build Docker images, Build executor image, Build executor binary
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
- Client checks: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit and integration tests for the Cody VS Code extension, E2E tests for the Cody VS Code extension, Stylelint (all)
- Publish candidate images: Push candidate Images
- End-to-end tests: Executors E2E
- Publish images: dind, executor-vm, alpine-3.14, codeinsights-db, codeintel-db, postgres-12-alpine, prometheus-gcp, Publish executor image, Publish executor binary, Push final images
Main dry run
The run type for branches matching main-dry-run/
.You can create a build of this run type for your changes using:
sg ci build main-dry-run
Base pipeline (more steps might be included based on branch changes):
- Metadata: Pipeline metadata
- Pipeline setup: Trigger async
- Image builds: Build Docker images, Build executor image, Build executor binary
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
- Client checks: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit and integration tests for the Cody VS Code extension, E2E tests for the Cody VS Code extension, Stylelint (all)
- Publish candidate images: Push candidate Images
- End-to-end tests: Executors E2E
- Publish images: dind, executor-vm, alpine-3.14, codeinsights-db, codeintel-db, postgres-12-alpine, prometheus-gcp, Push final images
Patch image
The run type for branches matching docker-images-patch/
, requires a branch argument in the second branch path segment.You can create a build of this run type for your changes using:
sg ci build docker-images-patch
Patch image without testing
The run type for branches matching docker-images-patch-notest/
, requires a branch argument in the second branch path segment.You can create a build of this run type for your changes using:
sg ci build docker-images-patch-notest
Build executor without testing
The run type for branches matching executor-patch-notest/
.You can create a build of this run type for your changes using:
sg ci build executor-patch-notest
Base pipeline (more steps might be included based on branch changes):
- Build executor-vm
- Scan executor-vm
- Build executor image
- Build docker registry mirror image
- Build executor binary
- executor-vm
- Publish executor image
- Publish docker registry mirror image
- Publish executor binary
Backend integration tests
The run type for branches matching backend-integration/
.You can create a build of this run type for your changes using:
sg ci build backend-integration
Base pipeline (more steps might be included based on branch changes):
- Metadata: Pipeline metadata
- Pipeline setup: Trigger async
- Image builds: Build Docker images
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
- Linters and static analysis: Run sg lint
- Client checks: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit and integration tests for the Cody VS Code extension, E2E tests for the Cody VS Code extension, Stylelint (all)
- Publish candidate images: Push candidate Images
- End-to-end tests: Executors E2E
- Publish images: dind, executor-vm, alpine-3.14, codeinsights-db, codeintel-db, postgres-12-alpine, prometheus-gcp, Push final images