[sisyphus] [POLICY] Sisyphus - альфа, бета, гамма
Denis Smirnov
mithraen на freesource.info
Ср Янв 28 18:30:52 MSK 2004
On Wed, Jan 28, 2004 at 01:45:19PM +0300, info wrote:
> Итак, целеполагание.
> В чем цель Сизифа и смысл его существования? На мой взгляд - в
> том, чтобы отлавливать всевозможные ошибки в новых версиях
> пакетов на их пути в стабильный дистрибутив.
Я хочу сразу ввести дополнительный вопрос -- для кого смысл? Для меня
смысл Сизифа никак не в Мастере, я мечтаю что когда-нибудь выйдет Castle,
и тогда Мастер _лично мне_ будет малоинтересен. Сегодня он мне тоже
малоинтересен (хотя сразу по выходу коробочка, видимо, будет куплена, а
возможно и не только для себя).
А вот "дистрибутив команды ALTLinux от 28 января 2004г" мне может быть
нужен и интересен.
> Развлечение, удовлетворение амбиций программистов, все что
> угодно...
... или просто реальная работа, акцентированая не только на коробочку.
> Итак, повторяю: конечный результат работы над Сизифом - скажем
> так, pre-Master. Который может быть оформлен в очередной
> Master x.x тогда, когда это сочтет руководство ALT.
Вот с этим полностью согласен. Результат, который позволит формировать
коробочку тогда, когда это понадобится ALT, а не тогда, когда будет
"техническая возможность" выпустить качественный продукт, это полезный
результат.
> Вот это и есть целеполагание: цель Сизифа -> pre-Master.
Моя формулировка: цель Сизифа -> дистрибутив GNU/Linux. Какой именно и в
какой момент времени другой вопрос. В том числе я хочу иметь возможность
на базе Сизифа в любой момент делать спецдистрибутивы для конкретных задач
(роутеры на флешке, live cd, терминалы, специализированые рабочие места,
всё что угодно ещё), при этом не занимаясь тем, в чём я не специалист
(хоть меня убейте, но я не знаю какие патчи и в каком порядке надо
накладывать на нынешнее ядро, и, что самое интересное, знать не слишком-то
и хочу, мне проще спек поправить и собрать то, что мне надо).
> Она достигается путем тестирования новых пакетов, поиска и
> исправления в них самых разнообразных ошибок. И только! А
> улучшение функциональности самих пакетов, удобства пользования
> ими, и т.д., и т.п. - это задача разработки пакетов, и к работе
> над Сизифом она не имеет никакого отношения.
Согласен.
> Какое бывает тестирование? Вообще-то, двух видов - "системное" и
> "пользовательское".
> При системном тестировании проверяются зависимости,
> устанавливаемость, запускаемость, взаимодействие с другими
> пакетами и пр. То есть, решается подзадача - чтобы данное
> приложение без проблем устанавливалось и запускалось.
... и этот этап практически полностью автоматизируется.
> При пользовательском тестировании проверяются приложения в
> работе. То есть, решается подзадача - чтобы данное приложение
> выполняло те функции, которые в нем заявлены.
... а вот это, де факто, не автоматизируется, и для этого, фактически, и
существует сизиф.
> Системное тестирование проводят программисты - прежде всего,
> упаковщики.
Скрипты они надёжнее :)
> Пользовательское тестирование проводят те "продвинутые
> пользователи" и "пионэры", которые рискуют использовать новые
> версии пакетов для решения своих пользовательских задач, и на
> своей шкуре вылавливают ошибки в функциональности.
...а также сами девелоперы.
> Отсюда же, кстати, разные требования к соотношению
> динамика/стабильность. Для системного тестирования крен должен
> быть в сторону динамики за счет стабильности, для
> пользовательского тестирования - наоборот.
В общем и целом -- да.
> Отсюда получаем следующее - предлагаю использовать общепринятую
> терминологию при тестировании (альфа, бета и т.д.)
> Альфа-сизиф.
> Предназначение: системное тестирование.
> Кто пользуется: паковщики и разработчики.
> Фактически нынешний сизиф, но с четким разделением на "периоды
> жизни", или фазы:
> - incoming (~ 2 дня) - принимаются любые свежие пакеты
> - systesting (~ 3 дня) - упаковщики обновляют cвои машины до
> состояния на конец фазы incoming, проверяют устанавливаемость,
> запускаемость и пр., если надо - списываются друг с другом,
> фиксят ошибки и пр.
> - fixing (~ 1 день) - принимаются только пофиксенные пакеты,
> исправляющие ошибки, замеченные на фазе systesting.
> - frozen (~ 1 день) - не принимается вообще ничего; фаза
> предназначена для того, чтобы упаковщики могли обновить свои
> машины и далее собирать пакеты в гарантированно одинаковом
> окружении.
Вот как раз в _альфа_ сизифе, IMHO, никаких ограничений быть и не должно.
Он должен быть даже бОльшей помойкой чем нынешний Сизиф. В идеале он даже
через incominger'а проходить не должен, если отправивший пакет и последний
сделавший модификацию один и тот же человек. Серия автоматических тестов
(типа sisyphus_check) -- и вперёд и с песней.
Предлагаемая мною последовательность:
"Chaos" -- там есть всё, или почти всё. Гарантируется лишь прохождение
элементарных проверок и собираемость на самом последнем сизифе.
Автоматические тесты _предлагают_ incominger'у перенос пакета по
прошествию некоторого (очень маленького, максимум рабочий день) времени.
Если incominger даёт добро, то пакет уходит в Сизиф. Если incominger в
течении 1 рабочего дня игнорирует это предложение, то пакет уходит в сизиф.
"Incoming" -- почти то, что сейчас Сизиф, за исключением того, что заведомо
ломающие зависимости изменения в него не пройдут. Он уже тогда альфа-сизиф
в вашей терминологии, который используется разработчиками.
"Sisyphus" -- а вот это уже то, что прошло тестирование в Incoming, и
более-менее пригодно для установки на пользовательские рабочие машины.
Соответственно перед выходом Мастера делается отдельная ветка Сизифа, в
которой и тестируется Мастер (как это и делается сейчас).
> Вот такая очередная схемка на обсуждение. Комментарии???
Всё, конечно, хорошо, но не учитывается всего лишь один факт -- любая
попытка "построить" мантейнеров снижает их мотивацию. Каждое лишнее
телодвижение, необхоимое мантейнеру уменьшает количество мантейнеров.
Поэтому любая система, которая требует от мантейнера определённых
действий, привязаных к определённым дням недели обречена.
--
С уважением, Денис
http://freesource.info
Подробная информация о списке рассылки Sisyphus