Автоматизация процессов в рамках тестирования сборочных заданий для стабильных репозиториев ОС ALT Linux (Евгений Шестепёров, OSSDEVCONF-2022)
Материал из 0x1.tv
- Докладчик
- Евгений Шестепёров
Доклад посвящён автоматизации процессов тестирования заданий, попадающих в стабильные репозитории, в компании «Базальт СПО». К таким процессам относится создание задач в системе контроля проектов Redmine; генерация сводного отчёта о сборочном задании; автоматическая проверка собираемости зависимых пакетов с заданием; разворачивание виртуальных машин в системе виртуализации Proxmox VE для тестирования сборочного задания; определение и загрузка автоматизированных тестов; отправка отчётов о тестировании в систему управления тестами Testlink.
Содержание
Видео
Презентация
Thesis
Стабильные ветки репозитория пакетов ALT Linux создаются на основе нестабильного репозитория Sisyphus с целью разделения темпов изменений разработки и эксплуатации путём стабилизации и тестирования. На данный момент активно проверяются продуктовые репозитории p10, p9 и сертифицированные ветки. При тестировании заданий инженеры QA часто выполняют рутинные действия, такие как создание виртуальных машин, проверка пересборки зависимых пакетов с заданием, обнаружение файловых конфликтов, заполнение прогонов по тестовым сценариям. Поэтому одной из первых и важнейших задач для инженеров QA Team стало создание системы контроля над пропуском заданий, которая бы существенно упростила их труд.
Инженерами QA Team было создано решение, которое позволяет в полной мере организовать данный процесс. Решение взаимодействует с API следующих систем и связывает их между собой: Redmine, Proxmox Virtual Environment, Testlink и систем. Основные требования, которые были поставлены для данной системы, стали:
- автоматическое создание задач в системе управления проектами и задачами Redmine, представленных для тестирования
сборочных заданий в стабильные репозитории;
- назначение наблюдателей в созданные задачи по умолчанию;
- генерация сводного отчёта в Redmine, в котором содержится необходимая информация о задании, результаты прогонов
автоматического тестирования, данные о существующих зависимостях, результат пересборки зависимых пакетов с заданием, наличие файловых конфликтов;
- автоматизация пересборки зависимых пакетов;
- разворачивание виртуальных машин в Proxmox Virtual Environment для тестирования сборочного задания: проверка
обновления и установки пакетов несколькими способами, загрузка и запуск автоматизированных тестов с целью выявления регресса;
- отправка информации об автоматических прогонах в Testlink и на email инженера QA, работающего над заданием;
- взаимодействие с актуальной информацией о пакетах, используя ALTRepo API.
Текущий доклад описывает реализацию данного решения.