5196
Комментарий:
|
5192
|
Удаления помечены так. | Добавления помечены так. |
Строка 57: | Строка 57: |
'''Допуск к проверке''' | ''Допуск к проверке'' |
Строка 63: | Строка 63: |
'''Допуск к публикации''' | ''Допуск к публикации'' |
Собирается ли свободное сообщество использовать для обновления своих пакетов огромных управляемых человекоподобных роботов?
Обновление уже оформленного пакета в хранилище (например, при выходе новой upstream-версии ПО) -- сравнительно несложная задача, посильная как человеку, так и небольшому роботу. Массовое отслеживание новых версий и обновление соответствующих пакетов в хранилище -- задача, очевидно, требующая более сложных и больших роботов, отчасти похожих на участников сообщества, а отчасти -- управляемых ими. В докладе обсуждаются наиболее востребованные свободным сообществом свойства огромных управляемых человекоподобных роботов, приводятся практические примеры.
?Предыстория
cc -> make -> крибле, крабле, бумс -> спеки -> сборочницы
хранилища и инструменты по упрощению сборки (bleeding edge)<F2>
?Проблематика: чего не хочется делать
?У кого что
Пролегомены к идеальному сообществу роботов
Диаграмма состояний пакета:
Ещё одно изолированное состояние: вечно свежий.
Сравнить версии
Не меняет дерево исходников.
Получить версию в целевом репозитории Vt
Получить версии в development-репозиториях Vd1 ... VdN
Получить версию в upstream Vu
Upstream исчез, сменил формат хранения и т. п.
Версия в development-репозиториях может быть выше актуальной, это признак ручной сборки
Допуск к обновлению при условии Vu > max(Vt, Vd1, ... , VdN)
Обновить
- Получение актуальных исходников:
- Pull из целевого репозитория
- Pull из development-репозиториев
- Получение Upsream-исходников
Upstream исходники не отдал, ошибка скачивания и т. п.
- Формирование сборочной ветки
- Обновление старых исходников новыми
Скрипты обновления не справились с задачей, вместо upstream скачался мусор и т. п.
- Модификация служебных файлов (*.spec, .gear/* ...)
Скрипты обновления не справились с задачей, информация о новом пакете неверна и т. п.
- Оформление коммита
- Обновление старых исходников новыми
Допуск к сборке
Собрать
- Тестовая сборка сборочной ветки в целевое хранилище
- Получение журнала сборки
Старым способом не собирается, плохо обновился spec и т. п.
Пострадало качество сборки: unpackaged files, предупреждения и т. п.
- Формирование бинарного хранилища для тестирования
- Формальное тестирование
Пакет на устанавливается, не прошли дополнительные тесты
Допуск к проверке
Проверить
Проверяет человек (тестер)
- Подключение тестового хранилища
- Установка и тестирование пакетов
Тест не прошёл
Допуск к публикации
Замечания
- Shared task?
- ...
Дешёвая пластиковая имитация
?побочные эффекты
- Разделение на тестера и сборщика
- Автоматизация каждого процесса (в т. ч. тестировния)
- ?