Алексей Пахунов (украинский программист работающий в SpaceX) опубликовал в своём блоге пост (+видео) о полётном програмном обеспечении использующемся в SpaceX
>>> https://blog.not-a-kernel-guy.com/2017/12/11/bazel-spacex/
Свежая презентация про полетный софт в SpaceX в целом, и про миграцию с
make
на Bazel в частности:Основные моменты:
- Два основных репозитория: один содержит полетный код, второй - код симуляции. Более миллиона строк C++ в каждом. Немного Python.
- Используется своя версия Linux, поддержкой которой занимается отдельная команда.
- C++ код собирается под несколько разных процессорных архитектур.
- Полетный код для Falcon и Dragon собирается из одного репозитория.
- “Test like you fly” - код тестируется в тех же самых условиях, что наблюдаются в полете. Софт и железо тестируются как единая интегрированная система.
- Система непрерывной интеграции выполняет более 8 тысяч заданий в день.
Вторая половина презентации посвящена миграции с древней системы сборки на основе make на более современный Bazel. Эта часть будет интересна в основном тем, кто интересуется системами сборки кода.
P.S.: Полезности