Automate large-scale code changes to remove legacy code, fix critical security issues, and pay down tech debt.
“Google invests significant effort in maintaining code health to address some issues related to codebase complexity and dependency management. For instance, special tooling automatically detects and removes dead code, splits large refactorings, … and marks APIs as deprecated.”
“[At Facebook], analyzers participate as bots in code review, making automatic comments when an engineer submits a code modification. … [This automation] saw a 70% fix rate, where a more traditional "offline" or "batch" deployment (where bug lists are presented to engineers, outside their workflow) saw a 0% fix rate.”
You need a way to improve and change APIs used across all of your organization's code, to spend less time and effort in the migration period between the old and new API or service.
You need to be able to identify everywhere that a vulnerable package or API is used, and open issues or pull requests on all affected projects. Then you can monitor the progress of fixing, merging, and deploying.
Keep your library dependencies and how you use those libraries up-to-date and consistent across all of your organization's code, to avoid old bugs or security problems in old dependencies, and problems arising from inconsistent dependency version use across your codebase.
Increase adoption of automatic linters and enable progressively stricter rules across all of your organization's code, so you can continuously improve the quality of all of your code. Developers will see diagnostics and fixes in their editor and on their code host to gently nudge them toward adherence, and you can enforce rules after a certain time period.
Keep the build and deployment configurations up-to-date and consistent across all of your organization's code, so that you can iterate and deploy continuously and reliably with DevOps self-sufficiency.
Sourcegraph's automation lets you create campaigns, which are collections of pull requests and issues across multiple repositories. The following campaign types are built in, and you can create other ad-hoc campaigns from the UI or use the Sourcegraph extension API for more advanced campaigns:
When you create a campaign, Sourcegraph automatically creates pull requests and issues as needed with the correct reviewers and context—and keeps them up-to-date. You can track the progress of the campaign with the burndown chart and see all related activity across all repositories. All this makes completing the campaign as fast and painless as possible.
Watch how to use Sourcegraph to automate the deprecation of a JavaScript library across 100+ projects.