Company
Date Published
Author
Kunju Perath
Word count
1656
Language
English
Hacker News points
None

Summary

The DigitalOcean team has been using a mono repo called cthulhu to organize their Go code for nearly three years. The repository, which started with a single directory structure, has grown exponentially and introduced various challenges, including tooling and organizational issues. Despite these challenges, the mono repo approach has provided several benefits, such as being able to make large, cross-cutting changes without breaking downstream repositories. To address some of the issues, the team developed a build tool called `gta`, which inspects the git history to determine which files must be tested for a given build. This tool significantly reduced the time taken by builds and improved the overall quality of their Go code through static analysis checks and custom linting tools. However, maintaining the repository's structure and tooling also presents challenges, such as establishing ownership and dealing with code vendoring issues. The team is actively working to improve cthulhu and its build pipelines, alongside regular project work.