Наша команда делает инструменты для команды разработки Яндекс Браузера. Мы пишем код, который автоматизирует существующие процессы, а новые помогаем строить так, чтобы в них всё что можно делалось бы нашими алгоритмами, а ручной работы был минимум.
Наша основная зона ответственности и крупнейший источник нагрузки на сборочные машины — контур CI.
Кроме CI, мы:
- пишем код для упрощения обновления на новую версию Chromium;
- разрабатываем инструменты для контроля качества Браузера;
- строим конвейеры и интеграции с другими внутренними сервисами Яндекса;
- придумываем новые утилиты для разработчиков;
- выполняем десятки других задач.
Наш код:
- работает локально под Windows, macOS, Linux у пары сотен разработчиков;
- работает в CI под Windows, macOS, Linux более чем на тысяче сборочных машин;
- проверяет в CI по несколько сотен пул-реквестов в день, в каждом из них — для пяти платформ: Windows, macOS, Linux, iOS, Android;
- строит и анализирует граф сборки, определяя, какая часть проекта задета изменениями;
- собирает задетую часть проекта, до 100 тысяч файлов C++ на платформу, в дебажной и релизной конфигурации, распределяя и кешируя сборку на сотнях машин в облаке;
- прогоняет все задетые тесты — до 300 тысяч уникальных тестов;
- проверяет код статическими анализаторами и линтерами;
- анализирует логи сборки, ошибки компиляции, время работы и стабильность тестов, вероятность конфликта изменений с Chromium и многое другое.