Logilab has been using heptapod, a GitLab fork with mercurial support, for 2 years now.
We are maintaining the open source software CubicWeb and its components called cubes.
Thus, the code is split in dozens of repositories, depending on one another.
Over the years, it has become hard to maintain code quality and good practices in the whole codebase.
In this talk, we will present the tools that helped us.
Some of them are mercurial specific, but most could be used in GitLab.
- Create Merge Request automatically across repositories based on some rules, such as deprecation warnings.
- Pick a reviewer for Merge requests based on the developers' preferences
- Making sure to commit, tag, update the changelog, publish to PyPi when releasing a new version
- Mutualize GitLab CI configurations with templates
- Host docker images of your project on the forge
- Have up-to-date static websites, documentation or web applications
Each use case can be solved easily, but combining them is what truly makes developer life easier.