Ни одна сборка не уйдёт без проверки: автотесты в проекте ALT Atomic
Каждая ночная сборка образа проходит автоматическую проверку — без ручного вмешательства. Бот публикует результаты в группу Telegram сопровождающих проекта ALT Atomic, чтобы команда сразу видела состояние сборок.
Тестирование — неотъемлемая часть референсного проекта операционных систем. Образ загружается в виртуальной машине, и наш бот @AtomicImageTestBot прогоняет сценарии, проверяя систему изнутри. По каждому из образов он докладывает, какие прошли проверку, а какие — нет.
Все проверки описаны в виде сценариев и лежат в отдельной директории
tests/ репозитория проекта (к примеру core, Onyx, Kyanite) — любой может посмотреть, что именно тестируется, и предложить свой сценарий. Это обычные YAML-файлы, нумерованные по порядку выполнения: от брендинга и systemd до сети, контейнеров и журнала. Каждый шаг — команда и ожидаемый результат, плюс полезные возможности: on-fail выводит диагностику при падении, only запускает шаг только для нужного типа релиза, wait ждёт сервисы до таймаута. Нерелевантные для конкретного варианта образа тесты аккуратно пропускаются (⏭️).Пример отчёта от бота:
✅ [altlinux.space/alt-atomic/core/nightly:latest] by alt-atomic-bot
PASS: 0/8 files failed, 0/32 steps failed, 3 skipped, 21.885s
✅ 01-branding
✅ 02-systemd
✅ 10-bootc
✅ 20-network
✅ 30-containers
✅ 40-core-default
⏭️ 41-core-minimal — VARIANT_ID=core
✅ 90-journalСтоит добавить, что тесты можно запустить и локально — через atomvm. Удобно проверить свои изменения или новый сценарий до отправки в репозиторий.
Ошибки в базовом образе останавливают распространение обновления — атомарный дизайн начинается ещё на этапе CI.
Хотите видеть в канале ленту результатов автоматических проверок после каждой ночной сборки? Пишите в комментариях 👇
Matrix: ALT Atomic Chat
MAX: ALT Atomic | ALT Atomic Chat
Telegram: ALT Atomic | ALT Atomic Chat
#ALTAtomic #ci #nightly #testing