Some time ago, Kaspersky Lab decided to move its development projects to a mono-repository with a common infrastructure. We decided to share our experience and tell what problems the developers face in the chosen approach, and how we learned to solve them.

Why did we move to a mono-repository?
ยซ ยป . . (, Perforce, Git, TFS ). , , .
, , . , , , .
, . , git- trunk-based development.
, , Monorepo.
Monorepo?
โ 50 . 350 -. โ 150. , Monorepo.
Monorepo โ :
Asgard, 75 7000 250 ;
Hive, 13 8000 ;
AIR;
Dashboard.
, Azure DevOps .
bazel .
?
-, . , . . 2,5 .
โ . โ 150.
?
, , . , โ . , - , , .
, ?
, , . , .

, -. , , , , -, .
, -, , - master. , , . , .

, โ ยซ ยป Monorepo. -, : - , , . -, , , - , . , : โ , . , โ .
?
master' . , . , , - master' โ , - .

, - , . , , .
2019 , 2021 55.31% 81.1%. , -.


, - ?
, , , , . Thor โ -.
Thor โ , (, - ). Thor , , - , , . , , . , , Thor .

Thor โ , (, , , ). - , . - Thor , , - , , . . , 69% , , .

, Thor . - , . .
, Thor , , -. -, , . , .

, !
expired-. 24 : , - 24 , . - , , . .
-, . .
flaky-. flaky, , . flaky-, . , , flaky , .

flaky , . - , , flaky. , flaky, 4% .
-, . , , , -, -. , - .

?
. . - .

, -, , . , - , - . -, , , . , -, , .
, , .
Monorepo