Requirements
Campaigns has requirements for the Sourcegraph server version, its connected code hosts and developer environments.
Code hosts
Campaigns is compatible with the following code hosts:
- Github.com
- Github Enterprise 2.20 and later
- GitLab 12.7 and later (burndown charts are only supported with 13.2 and later)
- Bitbucket Server 5.7 and later
Campaigns effect on code host rate limits
For each changeset, Sourcegraph periodically makes API requests to its code host to update its status. Sourcegraph intelligently schedules these requests to avoid overwhelming the code host's rate limits. In environments with many open campaigns, this can result in outdated changesets as they await their turn in the update queue.
We highly recommend enabling webhooks on code hosts where campaigns changesets are created. Doing so removes the lag time in updating the status of a changeset and reduces the API requests associated with large campaigns. We have instructions for each supported code host:
A note on campaigns effect on CI systems
Campaigns makes it possible to create changesets in tens, hundreds, or thousands of repositories. Opening and updating these changesets may trigger many checks or continuous integration jobs, and in turn may stress the resources allotted to these systems. Campaigns supports partial publishing for changesets to help mitigate these issues. You may also consider publishing your changesets at times of low activity.
Sourcegraph server
While the latest version of Sourcegraph server is always recommended, version 3.22 is the minimum version required to run campaigns.
Requirements for campaign creators
- Latest version of the Sourcegraph CLI
src
src
is supported on Linux or Intel macOS; Windows and ARM (eg M1) macOS support is experimental
- Docker
- MacOS:
- If using Docker 3.x, ensure your version is at least 3.0.1
- In 3.x versions, the gRPC setting must be disabled
- MacOS:
- Disk space
- The required disk space is equal to each campaign's largest repository plus any dependencies or requirements specified by the run steps, times the number of parallel jobs.
- The default number of parallel jobs defaults to the number of CPU cores on the system running src-cli. This setting can be configured with the
-j
flag when runningsrc campaign apply
orsrc campaign preview
.
- The default number of parallel jobs defaults to the number of CPU cores on the system running src-cli. This setting can be configured with the
- Disk space is also required for the generated patches. This requirement is cumulative across each repository altered.
- The required disk space is equal to each campaign's largest repository plus any dependencies or requirements specified by the run steps, times the number of parallel jobs.
- Git